package mq import ( asynqPackage "github.com/topfans/backend/pkg/mq/asynq" ) // Driver 标识底层 broker 类型 type Driver string const ( DriverRedis Driver = "redis" // 默认: Asynq (任务) + Redis Streams (事件) DriverRabbitMQ Driver = "rabbitmq" // 预留,本期不实现 ) // Config MQ 整体配置 type Config struct { // MQDriver 选择 broker 实现 (默认 redis) MQDriver Driver // Asynq 配置 Asynq asynqPackage.Config // Redis Streams 配置 Streams StreamsConfig } // StreamsConfig Redis Streams 配置 type StreamsConfig struct { RedisAddr string RedisDB int Password string ConsumerGroup string // 默认 "topfans-service" MaxLen int64 // Stream 最大长度,默认 100000 ReadBlockMS int // XReadGroup Block 毫秒,默认 1000 }