feat: 初始化后端服务基础架构与核心组件
- 添加项目基础结构,包括 .gitignore、package.json、Docker 配置和环境变量示例 - 实现核心模块:Kafka 消费者、PostgreSQL 数据库管理器、Redis 客户端与错误队列 - 添加工具类:日志记录器、指标收集器、UUID 生成器 - 实现数据处理器,支持 0x36 上报和 0x0F 命令的解析与存储 - 添加数据库初始化脚本和分区管理,支持按时间范围分区 - 引入 Zod 数据验证和 Vitest 单元测试框架 - 提供完整的项目文档,包括数据库设计、Kafka 格式规范和 Redis 集成协议
This commit is contained in:
23
openspec/project.md
Normal file
23
openspec/project.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# BLS RCU Action Server
|
||||
|
||||
## Overview
|
||||
Backend service for processing RCU action events from Kafka, parsing them, and storing them in PostgreSQL. Includes error handling via Redis and heartbeat monitoring.
|
||||
|
||||
## Architecture
|
||||
- **Input**: Kafka Topic (`blwlog4Nodejs-rcu-action-topic` or configured via env)
|
||||
- **Processing**: Node.js Service
|
||||
- **Consumer**: `kafka-node` consumer group
|
||||
- **Parser**: Parses JSON messages, handles UDP raw data decoding
|
||||
- **Database**: PostgreSQL (Batch insert)
|
||||
- **Error Handling**: Redis List (`error_queue`) for failed messages + Retry mechanism
|
||||
- **Output**: PostgreSQL Table (`rcu_action_events`)
|
||||
|
||||
## Configuration (Environment Variables)
|
||||
The project is configured via `.env`. Key variables:
|
||||
- **Kafka**: `KAFKA_BROKERS`, `KAFKA_TOPIC`, `KAFKA_SASL_USERNAME`, `KAFKA_SASL_PASSWORD`
|
||||
- **Database**: `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DB_DATABASE`, `DB_SSL`
|
||||
- **Redis**: `REDIS_HOST`, `REDIS_PORT`, `REDIS_PASSWORD`
|
||||
|
||||
## Development Constraints
|
||||
- **Schema**: Must strictly follow `docs/readme.md`.
|
||||
- **Database**: Do not alter Schema Name (`rcu_action`) or Table Name (`rcu_action_events`) unless explicitly requested.
|
||||
Reference in New Issue
Block a user