在线精品店:结算处理正在等待延迟或不可用的付款、运输和电子邮件服务

作者: 1265433359-hash创建于 2026年8月10日更新于 2026年8月23日

□ 总结

取出服务直接将请求上下文转发给几个下游呼叫,没有应用程序级超时,重新尝试预算或者在被检查路径上倒置. 在我们的测试中,延迟付款请求几乎将其全部延迟加到端到端订单路径上,而完全损失导致订单请求等待外部客户截止日期. 你能证实这种行为是否是故意的吗?

□ 环境

  • 仓库: " GoogleCloudPlatform/微服务-demo "
  • 提交:`9a4616e7'
  • 部署:孤立的 " 在线专用实验室 " 命名空间
  • 运行时间:Kubernetes 1.36.1,混乱网 2.8.3
  • 工作量:`地点命令'

□ 证据

静态检查发现,在 " 检查服务/主干 " 中直接传播付款、运输和电子邮件电话( " 主干:252 " 、 " 主干:380 " 、 " 主干:387 " ),没有 " 无时通 " 或 " 无时通 " 。

运行时间观察 :

基准 观察行为 |:也. +2s 延迟 +2s +17 ms + 17 ms + 2019 ms; 延迟 ~1 1 + 等

  • 损失100% = 17-23 ms = 10 008 ms; 清理后恢复了 ~17-23米

□ 影响

退出路径可能保留请求、goroutine和连接资源,同时等待无法依赖。 在同时发生的故障中,这可能会增加排队量,并使不相关的订单更有可能达到客户截止日期。

□ 建议的方向

可能值得考虑以下因素,这取决于预期的示范合同:

  1. 为付款、发货和电子邮件确定明确的依赖期限和有限度的故障处理。
  2. 对非关键电子邮件副效应使用同步或最佳路径。
  3. 如果目前的行为是故意的,请记录没有申请级别的截止日期,以便明确复原力合同。

□ 注释

本次实验中使用的客户截止日期是一个测量边界,而不是生产SLO. 问题在于没有应用级别的约束,而不是声称项目违反了特定的生产延迟目标.

内容来源: GoogleCloudPlatform/microservices-demo