@@ -1,18 +1,19 @@
|
||||
# Redis 对接规范
|
||||
|
||||
## Purpose
|
||||
本规范定义本服务按协议向 Redis 写入“项目心跳”(LIST) 与“项目控制台”(LIST) 两个 key 的数据结构与频率,并在 Redis 不可用时保持无人值守可用性(不阻塞启动、后台重连)。
|
||||
本规范定义本服务按协议向 Redis 写入“项目心跳”(STRING) 与“项目控制台”(LIST) 两个 key 的数据结构与频率,并在 Redis 不可用时保持无人值守可用性(不阻塞启动、后台重连)。
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: 项目心跳列表写入
|
||||
系统 MUST 按协议周期性向 `项目心跳` LIST 追加心跳记录。
|
||||
### Requirement: 心跳 Key 写入
|
||||
系统 MUST 按协议周期性写入 Redis STRING 心跳 Key。
|
||||
|
||||
#### Scenario: 定期刷新项目心跳
|
||||
#### Scenario: 定期刷新心跳
|
||||
- **WHEN** 服务运行中
|
||||
- **THEN** 系统应每 3 秒(可配置)执行一次 `RPUSH 项目心跳 <json>`
|
||||
- **AND** JSON 必须包含 `projectName`、`apiBaseUrl` 与 `lastActiveAt`(毫秒时间戳)
|
||||
- **THEN** 系统应每 3 秒(可配置)执行一次 `SET ${projectName}_项目心跳 <json>`
|
||||
- **AND** JSON 必须包含 `apiBaseUrl` 与 `lastActiveAt`(毫秒时间戳)
|
||||
- **AND** value 使用 UTF-8 编码
|
||||
- **AND** 可选设置 TTL(例如 EX 30)
|
||||
|
||||
### Requirement: 控制台日志队列写入
|
||||
系统 MUST 按协议向 Redis LIST 追加控制台日志。
|
||||
|
||||
Reference in New Issue
Block a user