通过在检测到服务已关闭时立即引发异常,他们通过不等待预期会发生的另一次超时来节省资源。
就像在家中或公寓中会发现的断路器一样,一旦断路器打开或触发,就没有什么可以通过。...指标提供了系统行为的高级概述,而日志记录允许我们了解单个 Web 请求或后台作业内部发生的事情。
在分布式系统中,传递某种关联标识符很有用。...一个假设的例子是当买家在结账时启动支付,关联_id 由我们的 Rails 控制器生成。
6 使用幂等键
确保支付或退款只发生一次,尽管偶尔会出现小故障。...请改用通用唯一词汇排序标识符 (ULID) 作为这些幂等键,而不是随机版本 4 UUID。
在 Shopify 的规模下,每一百万次不可靠的支付处理机会意味着它每天发生很多次。...Shopify 定期模拟大量抢购活动以获得基准测试结果。
9 掌握事件管理
事件通常从值班服务所有者收到页面开始,这可能是基于监视的自动警报,也可能是如果有人注意到问题,他们会手动发送。