1.2. 断路器设计模式


断路器模式旨在处理服务架构中故障,并防止跨多个系统的级联故障。断路器可以充当客户端功能的代理,该函数将请求发送到可能失败的远程服务端点。您可以在断路器对象中嵌套发送到远程服务端点的任何请求。然后,断路器调用远程服务并监控其状态。如果失败次数达到指定百分比阈值,则会触发断路器。然后,断路器确保对远程服务的任何进一步请求都自动阻止,并在指定时间段内出现错误消息或回退响应。

根据断路器设计模式,断路器在任何特定时间都具有以下状态之一:

关闭
失败的数量低于指定的百分比阈值,可触发断路器。您可以将百分比阈值定义为传递给 Node.js 应用中断路器的可选参数。默认百分比阈值为 50%。当失败数量较低且断路器处于关闭状态时,客户端功能可以继续向远程服务端点发送请求。
Open
失败的数量已达到指定百分比阈值,该阈值会触发断路器。例如,根据默认选项,如果 50% 的请求失败,则断路器进入 开放 状态。然后,断路器会在指定的超时时间内阻止对远程服务端点的所有调用,并显示错误消息或回退响应。您可以将超时周期定义为传递给 Node.js 应用中断路器的可选参数。默认超时时间为 30 秒。
半打开
指定的超时时间已结束。例如,基于默认选项,超时期限结束,断路器在 30 秒后进入 半开状态。然后,断路器尝试向远程服务端点发送有限数量的测试调用。如果测试调用成功,断路器进入 关闭状态,客户端功能可以继续向远程服务发送请求。但是,如果测试调用失败,断路器恢复到 开放 状态,并且继续阻止指定超时期间对远程服务的所有调用。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat