feat: 添加 G5 独立写入功能

- 新增 G5 数据库连接配置与可关闭的写入开关
- 在现有 legacy/G4 写入成功路径后,追加独立的 G5 写入流程
- G5 使用与 G4 相同的数据结构映射,但不写入 guid,由数据库自生成 int4 guid
- room_status 新增 G5 独立 upsert 写入路径,并保留旧表与 G5 表的独立开关
- 新增 G5 写入统计与启动摘要输出
- 更新 StatsCounters 和 StatsReporter 以支持 G5 统计
- 增加测试覆盖,确保 G5 写入逻辑与 room_status 的独立执行
- 新增 G5 相关数据库表结构 SQL 文件
This commit is contained in:
2026-03-10 16:29:24 +08:00
parent fe76884b27
commit 2f8857f98e
14 changed files with 924 additions and 130 deletions

View File

@@ -67,12 +67,19 @@ DB_RETRY_DELAY=1000
DB_LEGACY_HEARTBEAT_ENABLED=true
# 新热表heartbeat.heartbeat_events_g4_hot
DB_G4_HOT_HEARTBEAT_ENABLED=false
# G5 临时热表heartbeat.heartbeat_events_g5
DB_G5_HEARTBEAT_ENABLED=false
# room_status 写入开关
DB_ROOM_STATUS_ENABLED=true
# G5 room_status 写入开关
DB_G5_ROOM_STATUS_ENABLED=false
# 如无特殊需要,保持默认表名即可
DB_LEGACY_TABLE=heartbeat.heartbeat_events
DB_G4_HOT_TABLE=heartbeat.heartbeat_events_g4_hot
DB_G5_TABLE=heartbeat.heartbeat_events_g5
DB_ROOM_STATUS_TABLE=room_status.room_status_moment
DB_G5_ROOM_STATUS_TABLE=room_status.room_status_moment_g5
# =========================
# Redis 配置