- 新增Redis集成模块,支持心跳写入与控制台日志队列 - 优化Kafka消费者实现,支持多实例与自动重连 - 改进消息处理器,支持批量处理与多层解码 - 更新数据库表结构,调整字段类型与约束 - 添加Redis与Kafka的配置项和环境变量支持 - 补充测试用例和文档说明
1.3 KiB
1.3 KiB
Redis 对接规范
Purpose
本规范定义本服务按协议向 Redis 写入“项目心跳”(STRING) 与“项目控制台”(LIST) 两个 key 的数据结构与频率,并在 Redis 不可用时保持无人值守可用性(不阻塞启动、后台重连)。
Requirements
Requirement: 心跳 Key 写入
系统 MUST 按协议周期性写入 Redis STRING 心跳 Key。
Scenario: 定期刷新心跳
- WHEN 服务运行中
- THEN 系统应每 3 秒(可配置)执行一次
SET ${projectName}_项目心跳 <json> - AND JSON 必须包含
apiBaseUrl与lastActiveAt(毫秒时间戳) - AND value 使用 UTF-8 编码
- AND 可选设置 TTL(例如 EX 30)
Requirement: 控制台日志队列写入
系统 MUST 按协议向 Redis LIST 追加控制台日志。
Scenario: 追加日志
- WHEN 发生关键事件(启动成功/错误/连接状态变化)
- THEN 系统应执行
RPUSH ${projectName}_项目控制台 <json> - AND JSON 必须包含
timestamp(ISO-8601)、level、message - AND
level建议取值info|warn|error|debug
Requirement: Redis 异常处理
系统 MUST 在 Redis 不可用时进行后台重连,且不得阻塞主服务启动。
Scenario: Redis 连接中断
- WHEN Redis 连接中断
- THEN 系统应自动重连
- AND 不应导致主进程崩溃