系统对接上线那天通常一切正常。真正让人头疼的是三个月后的某个周一:业务部门发现上周五的一批单据没同步过来,而监控面板上所有接口都是绿的。
原因往往是请求成功了,但下游消费失败;或者消息重复投递被去重逻辑丢掉;再或者某个字段格式变了,被静默跳过。这类问题不会触发 HTTP 错误码,所以传统接口监控看不见。
四件必须一起配的事
- 幂等键:每条业务消息携带稳定唯一键,重试不会产生重复数据,去重也不会误杀正常消息。
- 有上限的重试 + 死信队列:重试策略要区分可恢复错误(网络抖动、限流)与不可恢复错误(字段校验失败)。后者应尽快进入死信队列并告警,而不是反复重试到超时。
- 端到端追踪 ID:从源头系统到最终落库贯穿同一个 ID,出问题时能一眼定位卡在哪一段。
- 对账而非只看成功率:按时间窗口比对源端与目标端的记录数和关键字段汇总值,发现静默丢失。
把「可观测」做成默认能力
Jiau Connect 把这些能力做成连接器的默认配置,而不是每个集成各自实现一遍。实施同学只需要声明业务唯一键和对账周期,控制台就会给出链路拓扑、积压趋势、死信明细与重放入口。
这里有个取舍值得说明:默认开启全链路采样会带来额外存储成本。我们的做法是正常流量低比例采样,一旦出现重试或死信,则对相关链路临时提升至全量采样,兼顾成本与排查效率。
一点经验
不要等到出事才打开追踪。上线第一周就把追踪 ID 打进业务日志,并在验收清单里加一条「人为构造一次消费失败,验证告警与重放是否可用」。这条演练比任何文档都管用。
本文为示例内容,用于演示博客文章结构。
