Documentation
¶
Overview ¶
Package initialize 提供各种服务的初始化功能 本文件专门负责Elasticsearch客户端的初始化配置
Package initialize 提供各种服务的初始化功能 本文件专门负责Etcd客户端的初始化配置
Package initialize 提供各种服务的初始化功能 本文件专门负责MySQL数据库的初始化,支持单数据库和多数据库列表配置
Package initialize 提供各种服务的初始化功能 本文件专门负责MySQL数据库的基础配置和GORM回调函数设置
Package initialize 提供各种服务的初始化功能 本文件专门负责MySQL数据库解析器的初始化,支持读写分离和分库分表
Package initialize 提供各种服务的初始化功能 本文件专门负责RabbitMQ消息队列消费者的初始化,支持多队列配置和自动重连机制
Package initialize 提供各种服务的初始化功能 本文件专门负责RabbitMQ消息队列发送者的初始化,支持多队列配置和连接管理
Package initialize 提供各种服务的初始化功能 本文件专门负责Redis客户端的初始化,支持单实例和集群模式,以及多实例列表配置
Package initialize 提供各种服务的初始化功能 本文件专门负责 OpenTelemetry 链路追踪的初始化和关闭
Index ¶
- func InitDB()
- func InitDBList()
- func InitDBResolver()
- func InitElasticsearch()
- func InitEtcd()
- func InitRedis()
- func InitRedisList()
- func InitTracing()
- func InitialRabbitMq(messageQueueList ...*config.MessageQueue)
- func InitialRabbitMqProducer(messageQueueList ...*config.MessageQueue)
- func InitialRabbitMqWithContext(ctx context.Context, messageQueueList ...*config.MessageQueue)
- func IsTracingEnabled() bool
- func Migrate(db *gorm.DB, migrateMode string)
- func RegisterTable(table any)
- func ShutdownTracing()
- func StopAllConsumers()
- func StopConsumer(queueInfo string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitDB ¶
func InitDB()
InitDB 初始化单个数据库连接 该函数会: 1. 检查数据库配置是否存在 2. 初始化单个数据库连接 3. 将数据库实例存储到全局app.DB中
func InitDBList ¶
func InitDBList()
InitDBList 初始化多个数据库连接列表 该函数会: 1. 创建数据库实例映射表 2. 遍历所有数据库配置并初始化连接 3. 将数据库实例按别名存储到全局app.DBList中
func InitDBResolver ¶
func InitDBResolver()
InitDBResolver 初始化数据库解析器 该函数会: 1. 检查是否配置了数据库解析器 2. 初始化多数据库配置(支持读写分离、分库分表) 3. 将解析器实例存储到全局app.DBResolver中
func InitElasticsearch ¶
func InitElasticsearch()
InitElasticsearch 初始化Elasticsearch客户端 该函数会: 1. 检查配置是否存在 2. 创建ES客户端连接 3. 测试连接并获取服务器信息 4. 将客户端实例存储到全局app.ES中
func InitEtcd ¶
func InitEtcd()
InitEtcd 初始化Etcd客户端 该函数会: 1. 检查Etcd配置是否存在 2. 设置连接超时时间(使用默认值或配置值) 3. 创建Etcd客户端连接 4. 将客户端实例存储到全局app.Etcd中
func InitRedis ¶
func InitRedis()
InitRedis 初始化单个Redis客户端 该函数会: 1. 检查Redis配置是否存在 2. 初始化Redis客户端连接 3. 将客户端实例存储到全局app.Redis中
func InitRedisList ¶
func InitRedisList()
InitRedisList 初始化多个Redis客户端列表 该函数会: 1. 创建Redis客户端映射表 2. 遍历所有Redis配置并初始化连接 3. 将客户端实例按别名存储到全局app.RedisList中
func InitTracing ¶
func InitTracing()
InitTracing 初始化 OpenTelemetry 链路追踪 该函数会: 1. 检查链路追踪配置是否存在 2. 初始化 OpenTelemetry TracerProvider 3. 配置全局追踪器和上下文传播器
func InitialRabbitMq ¶
func InitialRabbitMq(messageQueueList ...*config.MessageQueue)
InitialRabbitMq 初始化RabbitMQ消息队列消费者(向后兼容版本) 该函数会: 1. 创建消息队列配置映射表 2. 为每个消息队列启动独立的消费者协程 3. 启动故障恢复监听器,自动重启出错的消费者 参数:
- messageQueueList: 消息队列配置列表,支持可变参数
func InitialRabbitMqProducer ¶
func InitialRabbitMqProducer(messageQueueList ...*config.MessageQueue)
InitialRabbitMqProducer 初始化RabbitMQ消息队列发送者 该函数会: 1. 创建消息队列配置映射表 2. 为每个消息队列初始化连接和通道 3. 将初始化好的发送者存储到全局映射表中,供后续使用 参数:
- messageQueueList: 消息队列配置列表,支持可变参数
func InitialRabbitMqWithContext ¶
func InitialRabbitMqWithContext(ctx context.Context, messageQueueList ...*config.MessageQueue)
InitialRabbitMqWithContext 初始化RabbitMQ消息队列消费者(支持 context 优雅关闭) 该函数会: 1. 创建消息队列配置映射表 2. 为每个消息队列启动独立的消费者协程 3. 启动故障恢复监听器,自动重启出错的消费者 4. 当 context 取消时,所有消费者会优雅关闭 参数:
- ctx: 用于控制消费者生命周期的 context
- messageQueueList: 消息队列配置列表,支持可变参数
func IsTracingEnabled ¶
func IsTracingEnabled() bool
IsTracingEnabled 返回链路追踪是否已启用 用于其他模块判断是否需要添加追踪功能
func Migrate ¶
Migrate 执行数据库表结构迁移 该函数会: 1. 检查迁移模式是否有效 2. 根据模式执行相应的迁移操作 3. 支持"create"和"update"两种迁移模式 参数:
- db: 数据库连接实例
- migrateMode: 迁移模式("create"或"update")
func RegisterTable ¶
func RegisterTable(table any)
RegisterTable 注册需要迁移的表实体 该函数用于收集需要自动迁移的表结构定义 参数:
- table: 表结构实体(通常是GORM模型结构体)
func ShutdownTracing ¶
func ShutdownTracing()
ShutdownTracing 关闭 OpenTelemetry 链路追踪 该函数会: 1. 检查追踪器是否已初始化 2. 使用超时上下文优雅关闭追踪器 3. 确保所有待发送的追踪数据被刷新
func StopConsumer ¶
func StopConsumer(queueInfo string)
StopConsumer 停止指定的消费者 参数:
- queueInfo: 队列信息(由 MessageQueue.GetInfo() 返回)
Types ¶
This section is empty.