455185ac5d8cfc14db7e5fe22ded042a7c809705
新增 Kafka 消息中 electricity[] 和 air_conditioner[] 数组字段支持,用于存储电力与空调设备明细数据。数据库表新增对应数组列并创建 GIN 索引优化查询性能,processor 实现数组字段校验与聚合转换逻辑。 主要变更: - Kafka 消息规范新增 electricity 和 air_conditioner 数组字段定义 - 数据库 heartbeat_events 表新增 14 个数组列并创建 4 个 GIN 索引 - processor 实现数组字段解析、校验及聚合转换逻辑 - 更新相关文档与测试用例,确保端到端功能完整
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
85.5%
Batchfile
7.2%
PLpgSQL
7.1%
Dockerfile
0.2%