feat(syslog): 完成高吞吐可靠链路与统计存储优化

- 新增接入 WAL、检查点、背压恢复及可靠分发机制,完善 Kafka 幂等发布、分区、重试、DLT 和补偿流程
- 引入规则预编译、批内快照及 JetCache/Caffeine 两级缓存,支持缓存失效广播、影子对账和执行指标
- 升级 InfluxDB V2 原始日志模型,统一接收时间与 Point 时间,支持按日 measurement、UUID 分桶及 V1/V2 双读
- 重构达梦标准化批量写入与统计链路,支持事务内直写、增量投影、幂等控制、窗口水位和日期切换
- 完善告警处理、配置校验、运行监控及测试覆盖
This commit is contained in:
王绍宏
2026-08-20 00:18:33 +08:00
parent a3852fc0f9
commit 29445c6825
303 changed files with 20419 additions and 4481 deletions
@@ -21,6 +21,16 @@ services:
# 环境配置
- SPRING_PROFILES_ACTIVE=prod
- TZ=Asia/Shanghai
# 首次启动保持影子模式:维护增量投影,但正式字段仍由旧全量任务更新。
- STATS_INCREMENTAL_CAPTURE_ENABLED=true
- STATS_INCREMENTAL_PROJECTION_ENABLED=true
- STATS_INCREMENTAL_READ_ENABLED=true
- STATS_LEGACY_FULL_SCAN_ENABLED=false
- STATS_INGRESS_METADATA_ENABLED=true
- STATS_DEVICE_RECEIVE_LEGACY_SCAN_ENABLED=false
- STATS_DEVICE_RECEIVE_CHANGE_CAPTURE_ENABLED=false
# 客户确认表用途前冻结历史清理,不删除旧代码或表。
- DEVICE_RECEIVE_CLEANUP_ENABLED=false
# 数据库配置
- SPRING_DATASOURCE_URL=jdbc:dm://192.168.4.99:5237
- SPRING_DATASOURCE_USERNAME=SYSDBA
@@ -46,19 +56,34 @@ services:
# Kafka配置
# Kafka配置
- SPRING_KAFKA_CONSUMER_BOOTSTRAP_SERVERS=192.168.4.99:9092
- SPRING_KAFKA_CONSUMER_GROUP_ID=agent-syslog-topic
- SPRING_KAFKA_CONSUMER_GROUP_ID=agent-syslog-group
- SPRING_KAFKA_CONSUMER_AUTO_OFFSET_RESET=latest
- SPRING_KAFKA_CONSUMER_ENABLE_AUTO_COMMIT=false
- SPRING_KAFKA_CONSUMER_TOPIC=agent-syslog-topic
- SPRING_KAFKA_CONSUMER_MAX_POLL_RECORDS=1000
# 当前生产不让平台端消费非活跃原始 Topic;DLT 补偿监听不受此开关影响。
- SYSLOG_RAW_CONSUMER_ENABLED=false
- SPRING_KAFKA_CONSUMER_MAX_POLL_RECORDS=200
- SPRING_KAFKA_CONSUMER_PROPERTIES_MAX_POLL_INTERVAL_MS=900000
- SPRING_KAFKA_LISTENER_ACK_MODE=manual
- SPRING_KAFKA_LISTENER_CONCURRENCY=2
- SPRING_KAFKA_LISTENER_TYPE=batch
# syslog-consumer 的原始 Topic 当前非活跃;DLT 索引和回放必须指向 consumer-rule 的活跃链路。
- SYSLOG_COMPENSATION_DLT_TOPIC=agent-01-syslog-topic.DLT
- SYSLOG_COMPENSATION_REPLAY_TOPIC=agent-01-syslog-topic.REPLAY
- SYSLOG_COMPENSATION_GROUP_ID=syslog-compensation-agent-01-dlt-index
# InfluxDB配置
- INFLUXDB_URL=http://192.168.4.99:8087
- INFLUXDB_TOKEN=JsUyvU8vhQEFlMM_el4Drm87fyh707IhwJNsPBucPghSdbVmdQ-UvmPcyP5NTzWxsRfEz0T51Rw4ebZUuUrmZg==
- INFLUXDB_ORG=influxdb
- INFLUXDB_BUCKET=yelangbucket
- INFLUXDB_RAW_WRITE_SCHEMA=V2
- INFLUXDB_RAW_READ_MODE=V1_V2
- INFLUXDB_RAW_V1_BUCKET=yelangbucket
- INFLUXDB_RAW_V2_BUCKET=yelangbucket_v2
- INFLUXDB_RAW_UUID_BUCKET_COUNT=4096
- INFLUXDB_RAW_LEGACY_POINT_TIME_FALLBACK_ENABLED=true
- INFLUXDB_RAW_QUERY_MAX_ROWS=10000
- INFLUXDB_RAW_QUERY_MAX_RESPONSE_BYTES=10485760
- INFLUXDB_BATCH_SIZE=1000
- INFLUXDB_FLUSH_INTERVAL=1000
- INFLUXDB_CONNECTION_TIMEOUT=30s
@@ -120,4 +145,3 @@ services:
networks:
xdr-network:
driver: bridge