NOTE

3.10 如何设计熔断系统

1. 熔断是什么 - 主调调用被调,当错误数达到阈值时不再调用被调,好转则恢复调用 - 容错策略中的Failfast 2. 如何实现熔断 2.1. 断路器模式 - - 通过代理(断路器对象)来一对一地(一个远程服务对应一个断路器对象)地接管服务调用者的远程请求 - 服务A调用服务B,A会统计错误,当

系统设计创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 熔断是什么

  • 主调调用被调,当错误数达到阈值时不再调用被调,好转则恢复调用
  • 容错策略中的Failfast

2. 如何实现熔断

2.1. 断路器模式

  • 通过代理(断路器对象)来一对一地(一个远程服务对应一个断路器对象)地接管服务调用者的远程请求
  • 服务A调用服务B,A会统计错误,当错误+超时/总请求数达到一个阈值时,触发熔断,不在调用B
  • 每隔一段时间放几个请求过去试探B,如果B好转则恢复调用。

3. 熔断组件

4. 熔断 vs 限流

  • 服务A调用服务B
  • 熔断是为了保护A自己,而限流是为了保护服务B

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看