perf(syslog): 统计异步化并按采样保留率自适应调整业务批量
- 入口统计改用独立 Kafka 消费组,移除主消费同步统计写库 - DIRECT 模式入库计数改为事务提交后异步投递,取消事实事务内统计 Outbox 写入 - 采样审计、告警分钟桶通知改为后台处理,异常不阻断主消费或回滚告警 - RAW 基础业务批量默认 500,按保留率动态扩大,上限 3000 - 限制业务块字节数及规则任务数量,保留告警全量处理和整次 poll 完成后提交 - 细化 SLOW_SYSLOG_BATCH,补充批次关联、线程排队、数据库执行及提交耗时 - 更新 v4 升级说明,明确异步统计损失风险及现场验证方法 验证:JDK 8 构建成功,232 项测试通过。 升级:复用现有表和 Kafka Topic,无新增建表或建 Topic 脚本要求。
This commit is contained in:
@@ -4,13 +4,16 @@
|
||||
|
||||
v4 只升级 `syslog-consumer-rule` 和达梦数据库,不修改 `syslog-serve`,也不新增 Kafka Topic。
|
||||
|
||||
后续吞吐优化(独立入口统计、事实计数/审计/分钟桶异步化、RAW底层poll上限3000/业务基础500自适应、精细慢批次日志)见
|
||||
[吞吐优化升级配置与验证](./config/02-throughput-upgrade.md)。已完成v4表升级的现场应用此补丁无需新增DDL。
|
||||
|
||||
本次升级包含:
|
||||
|
||||
- 根据消息 `receive_time` 与当前时间的差值,对积压消息分级采样;
|
||||
- `syslog_normal_alarm` 始终全量保留,并在 InfluxDB 原文、普通表和非标表之前单独提交;
|
||||
- 未被保留的 `syslog_normal_data`、`syslog_non_normal_message` 及对应原文不写入存储;
|
||||
- 按消息来源小时、Topic、Partition、策略版本和实际保留率记录采样审计;
|
||||
- 审计表不可用时自动回退为全量保留,不执行有损采样;
|
||||
- 最新吞吐补丁采用消费优先:审计后台尽力写入,失败不取消采样;分钟桶提交后后台重试,可能丢通知,详见上述文档;
|
||||
- InfluxDB 原文写入变为非关键旁路,启动检查或运行时写入失败只记录并继续主消费。
|
||||
|
||||
## 文件与执行顺序
|
||||
|
||||
Reference in New Issue
Block a user