feat: 添加 Kafka 消费者和消息处理功能

- 新增 Kafka 消费者实现,支持消息处理和错误处理。
- 实现 OffsetTracker 类,用于跟踪消息偏移量。
- 新增消息解析和数据库插入逻辑,支持从 Kafka 消息构建数据库行。
- 实现 UDP 数据包解析功能,支持不同类型的 UDP 消息。
- 新增 Redis 错误队列处理,支持错误重试机制。
- 实现 Redis 客户端和集成类,支持日志记录和心跳机制。
- 添加 Zod 验证模式,确保 Kafka 消息有效性。
- 新增日志记录和指标收集工具,支持系统监控。
- 添加 UUID 生成工具,支持唯一标识符生成。
- 编写处理器逻辑的单元测试,确保功能正确性。
- 配置 Vite 构建工具,支持 Node.js 环境下的构建。
This commit is contained in:
2026-03-14 17:33:19 +08:00
parent d62f83b4a4
commit 677dda80b9
101 changed files with 14904 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
bls-onoffline-backend
安装与运行
- Node.js 22+
- npm install
- npm run dev
构建与测试
- npm run build
- npm run test
- npm run lint
规范校验
- npm run spec:lint
- npm run spec:validate
环境变量
- 复制 .env.example 为 .env 并按实际环境配置
数据库初始化
- 运行服务前请先通过根目录 SQL_Script 下脚本完成建库与分区维护
- `../SQL_Script/create_database.sql`建库psql
- `../SQL_Script/create_schema_and_parent_table.sql`:建 schema 与主分区表
- `../SQL_Script/create_partition_for_day.sql`:按日建分区模板
- `../SQL_Script/generate_init_sql.js`:生成建库+建表 SQL
- `../SQL_Script/generate_partition_sql.js`:生成单日分区 SQL
- `../SQL_Script/generate_partition_range_sql.js`:生成批量分区 SQL
规范说明
- 规格文件位于 spec/onoffline-spec.md