AKS 上的支付微服务调用了一个外部提供商,该提供商在负载下会间歇性地返回 5xx 错误和超时。高峰会导致线程池耗尽,并导致共享同一节点池的其他服务发生级联故障。您必须防止级联故障,并在提供商性能下降时保持不相关服务的响应能力。您应该实施哪两种弹性模式?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 在出站 HTTP 客户端中实现熔断器模式,该熔断器在重复失败/超时时打开,并在冷却期内短路调用。, 通过隔离每个依赖项的连接/线程池和资源配额来应用舱壁模式,并限制支付服务的队列长度。.
为什么这是答案
熔断器模式(Circuit Breaker pattern)是正确的,因为它通过在检测到重复失败或超时时“打开”熔断器,从而阻止对故障外部提供商的进一步调用,防止线程池耗尽和级联故障。在冷却期后,熔断器会尝试性地允许少量请求通过,以检查提供商是否已恢复。舱壁模式(Bulkhead pattern)是正确的,因为它通过隔离支付服务所使用的连接池和资源配额,确保即使支付服务因外部提供商问题而出现故障,其资源耗尽也不会影响共享同一节点池的其他服务。 增加重试次数并使用固定间隔可能加剧问题,因为这会在外部提供商已经过载时增加其负担。扇出/扇入持久编排通常用于协调多个异步操作,而不是解决外部服务间歇性故障导致的级联故障。移除超时会使问题更糟,因为长时间运行的调用会长时间占用资源,更容易导致线程池耗尽。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡