feat: 实现GUID主键与service_mask索引改造

- 将主键从自增id改为GUID格式并添加格式校验
- 为service_mask添加表达式索引优化首位查询性能
- 更新相关文档说明改造方案与验证步骤
- 添加统计模块记录数据库写入与Kafka消费量
- 重构Redis心跳协议改用LIST类型存储项目状态
- 修复部署脚本中的服务名称不一致问题
This commit is contained in:
2026-01-17 18:37:44 +08:00
parent 662eeee380
commit 41301f9ce5
21 changed files with 828 additions and 106 deletions

View File

@@ -19,7 +19,7 @@
### 2.1 字段列表
| 字段 | 类型 | 必填 | 说明 |
|---|---|---:|---|
| id | bigserial | (自动生成) | 自增序列号(写入时可不提供 |
| guid | varchar(32) | (自动生成) | GUID32 位无连字符 HEX小写自动生成 |
| ts_ms | bigint | 是 | 毫秒级时间戳epoch ms |
| hotel_id | int2 | 是 | 酒店编号 |
| room_id | varchar(50) | 是 | 房间编号(或房间唯一标识,按字符串存储) |
@@ -59,7 +59,7 @@
需求写“主键id(bigserial)”,但 **PostgreSQL 分区表的主键/唯一约束通常必须包含分区键**
脚本采用:
- `PRIMARY KEY (ts_ms, id)`
- `PRIMARY KEY (ts_ms, guid)`
原因:保证分区表可创建、约束可落地。