微服务为什么不是天然具备韧性(resilient)的?Bulkhead 和 Circuit Breaker 分别是什么?解决什么问题?
Why aren’t microservices resilient by default? What are Bulkhead and Circuit Breaker patterns and what problems do they solve?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: system-design, reliability
标签: resilience, bulkhead, circuit-breaker, failure-isolation, timeouts
参考答案摘要
TL;DR 微服务天然分布式,网络超时、依赖服务故障、bug 都会引发连锁失败,因此需要韧性模式保证“局部故障不拖垮全局”。Bulkhead 用隔离防止故障扩散;Circuit Breaker 用熔断避免持续调用失败服务。 为什么微服务不天然韧性 服务之间存在依赖链,依赖服务失败会向上传播。 网络超时、重试风暴、资源耗尽可能导致级联故障。 更多分布式组件意味着更多失败点。 Bulkhead(舱壁)...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。