面向交易系统的可观测实践:用黄金指标量化可靠性,聚焦尾延迟而非平均值,区分业务失败与系统故障,用错误预算管理变更,并兼顾合规审计留痕。
交易系统的可靠性不是“能用就行”,而是“每一毫秒都有代价”。一笔支付晚 500ms,用户可能已经关掉页面;一笔下单在某个节点卡住,可能引发对账不一致。可观测在这里不是锦上添花,是风控和合规的一部分。
这类系统的特点决定了可观测的重点:流量有极强的峰谷,延迟要看尾部分布而不是平均值,错误要区分“业务失败”和“系统故障”,而且每一步都要留痕可审计。下面从指标、SLO、采样三个层面讲落地。
Google SRE 的黄金指标对交易系统尤其适用,但用法要做调整:
在炬鲸 OBSERVE 里,给每个核心接口建一组指标卡片,把 P99 延迟、QPS、错误率、队列积压并排展示。但看板不是终点——看板只能告诉你“现在正常吗”,SLO 才能告诉你“这个月还扛得住几次变更”。
SLO(服务等级目标)是把“可靠”从形容词变成数字的方法。对交易系统,建议从这三个 SLI 起步:
SLI 的定义要精确到能写进代码。比如“成功请求”到底是 HTTP 2xx,还是“业务返回码为成功”?“已记账成功”以哪个系统的哪张表为准?定义含糊,SLO 就是空中楼阁。
SLO 定下后,错误预算(Error Budget)自然就有了。比如可用性目标 99.9%,一个月 30 天,预算就是 0.1% × 30 天 ≈ 43 分钟。团队可以用这 43 分钟来发布、灰度、做实验——预算烧完前该停就停。这才是 SLO 真正的作用:不是惩罚,而是给变更留出量化的空间,让“能不能上”从拍脑袋变成算账。
有了错误预算,告警策略也应该随之调整:
这套做法把告警从“盯着瞬时指标”变成“盯着可靠性余额”,和上一篇文章讲的动态基线正好互补。
交易流量大,全量链路追踪的存储成本很高,所以要做采样。但交易系统的采样不能“一刀切”:
同时,采样策略本身要可审计——哪条被采样、为什么被采样,都要能解释。政企客户在合规审计时,会要求“某一笔交易在某一时刻的完整链路”,如果你的采样策略说不清,就等于留不下证据。炬鲸 OBSERVE 支持按规则配置采样,并把采样决策写进日志,审计时可回溯。
落地顺序建议:先给核心接口定 SLI 和 SLO,再上黄金指标看板,最后调采样策略。可观测是一层层叠加的,不要一上来就追求“全链路 100% 无死角”,那既贵又不必要。