XuJiacheng e44cf10a82 feat(processor): 同步心跳数据到 room_status 表
- 在 HeartbeatProcessor 中新增异步同步逻辑,在历史表写入成功后尝试更新 room_status 表
- 实现 DatabaseManager.upsertRoomStatus 方法,支持批量更新和自动分区创建
- 添加批次内去重逻辑,避免 PostgreSQL ON CONFLICT 冲突
- 新增相关文档:同步方案、测试报告和提案说明
2026-02-06 15:15:03 +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 447 KiB
Languages
JavaScript 85.5%
Batchfile 7.2%
PLpgSQL 7.1%
Dockerfile 0.2%