43fa7505e50e4e1e8a82c6a223d65b146dbb770a
- 新增配置项以支持旧/新明细表的独立写入开关及目标表名。 - 重构 DatabaseManager,抽象通用批量 COPY 写入内核,支持不同目标表的复用。 - 新增双明细写入编排器,支持旧/新表独立执行、重试及 fallback。 - 调整 HeartbeatProcessor.processBatch(),确保 room_status 独立执行。 - 错误表仅记录新表写入失败,旧表失败不再写入错误表。 - 重新定义消费暂停策略,基于当前启用的关键 sink 判断。 - 补充按 sink 维度的统计项与启动日志。 新增 G4 热表相关的数据库规范与处理逻辑,确保系统在双写模式下的稳定性与可扩展性。
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
Languages
JavaScript
84.6%
PLpgSQL
10.9%
Batchfile
4.4%
Dockerfile
0.1%