XuJiacheng 43fa7505e5 feat: 新增 G4 热表独立双写能力
- 新增配置项以支持旧/新明细表的独立写入开关及目标表名。
- 重构 DatabaseManager,抽象通用批量 COPY 写入内核,支持不同目标表的复用。
- 新增双明细写入编排器,支持旧/新表独立执行、重试及 fallback。
- 调整 HeartbeatProcessor.processBatch(),确保 room_status 独立执行。
- 错误表仅记录新表写入失败,旧表失败不再写入错误表。
- 重新定义消费暂停策略,基于当前启用的关键 sink 判断。
- 补充按 sink 维度的统计项与启动日志。

新增 G4 热表相关的数据库规范与处理逻辑,确保系统在双写模式下的稳定性与可扩展性。
2026-03-09 15:49:12 +08:00
2026-03-03 21:28:27 +08:00

Web_BLS_Heartbeat_Server

BLS心跳接收端用于接收并处理Kafka队列中的心跳数据经过解包处理后写入PostgreSQL数据库。

功能介绍

  • 从Kafka队列接收心跳数据
  • 解包和验证心跳数据格式
  • 批量处理心跳数据,提高处理效率
  • 将处理后的数据写入PostgreSQL数据库
  • 支持高并发和自动重连机制

技术栈

  • Node.js (JavaScript) - 运行环境
  • Vite - 构建工具
  • Kafka - 消息队列
  • PostgreSQL - 数据库

快速开始

安装依赖

npm install

配置

复制配置文件模板并根据环境需求修改:

cp src/config/config.example.js src/config/config.js

构建

npm run build

运行

# 启动后端Kafka consumer + DB + Redis
npm run start

# 注意npm run dev 是 Vite 开发服务器,不会启动 Kafka consumer
# npm run dev

项目结构

├── src/                  # 源代码目录
│   ├── config/           # 配置文件
│   ├── kafka/            # Kafka消息处理
│   ├── processor/        # 心跳数据处理
│   ├── db/               # 数据库操作
│   └── index.js          # 项目入口
├── openspec/             # OpenSpec规范文档
├── package.json          # 项目依赖
├── vite.config.js        # Vite配置
└── README.md             # 项目说明

开发命令

命令 描述
npm install 安装项目依赖
npm run build 构建项目
npm run dev 启动开发服务器
npm run test 运行测试
npm run lint 代码检查
Description
BLS心跳接收端
Readme 805 KiB
Languages
JavaScript 84.6%
PLpgSQL 10.9%
Batchfile 4.4%
Dockerfile 0.1%