feat: 新增 G4 热表独立双写能力
- 新增配置项以支持旧/新明细表的独立写入开关及目标表名。 - 重构 DatabaseManager,抽象通用批量 COPY 写入内核,支持不同目标表的复用。 - 新增双明细写入编排器,支持旧/新表独立执行、重试及 fallback。 - 调整 HeartbeatProcessor.processBatch(),确保 room_status 独立执行。 - 错误表仅记录新表写入失败,旧表失败不再写入错误表。 - 重新定义消费暂停策略,基于当前启用的关键 sink 判断。 - 补充按 sink 维度的统计项与启动日志。 新增 G4 热表相关的数据库规范与处理逻辑,确保系统在双写模式下的稳定性与可扩展性。
This commit is contained in:
10
src/index.js
10
src/index.js
@@ -33,6 +33,16 @@ class WebBLSHeartbeatServer {
|
||||
console.log('数据库连接成功');
|
||||
await this.redis?.info('数据库连接成功', { module: 'db' });
|
||||
|
||||
// 打印双写配置摘要
|
||||
const dbCfg = this.config.db;
|
||||
const dualWriteSummary = {
|
||||
legacyHeartbeat: dbCfg.legacyHeartbeatEnabled ? `ON → ${dbCfg.legacyTable}` : 'OFF',
|
||||
g4HotHeartbeat: dbCfg.g4HotHeartbeatEnabled ? `ON → ${dbCfg.g4HotTable}` : 'OFF',
|
||||
roomStatus: dbCfg.roomStatusEnabled !== false ? 'ON' : 'OFF',
|
||||
};
|
||||
console.log('双写配置摘要:', dualWriteSummary);
|
||||
await this.redis?.info('双写配置摘要', { module: 'db', ...dualWriteSummary });
|
||||
|
||||
// 打印 Kafka 配置摘要,便于排查连接问题
|
||||
console.log('正在初始化 Kafka 消费者...');
|
||||
console.log('Kafka 配置:', {
|
||||
|
||||
Reference in New Issue
Block a user