`
tiangaopp
  • 浏览: 3496 次
社区版块
存档分类
最新评论

服务容错模式之断电器(Circuit Breaker)

阅读更多

在微服务中,各种服务形成一个错综复杂的调用网络。如果其中一个服务或者某些服务发生错误后,可能引起级联的反应,从而导致系统发生严重的事故。如何避免这类情况的出现,我们在电力行业找到了类似的设计。

 

在电力行业,断电器是系统的一个重要组成部分,工程师们通过保险丝的熔断、调整来保证系统的安全。

 

软件行业也利用这种原理来设计具有弹性的容错架构,比如Netflix的hystrix.

断电器的设计包含以下几个方面:

1. 封装断电器对象,提供受保护的方法调用

2. 当方法调用出现超时,记录下超时次数,本次调用失败;在超时次数超过临界值的设定时,开启断电保护,以后访问该服务的直接返回错误

3. 有重置机制,可以通过一定规则的检查,发现访问可用的时候,重置断电保护,恢复到正常情况。

 

 

 断电器做到对关键资源的监控,当发现问题的时候能快速的失败,且能提供对失败资源的反馈和显示,为后续的行动提供依据。

 

 

  • 大小: 228.8 KB
分享到:
评论

相关推荐

    spring-cloud-circuitbreaker-sentinel-2021.1-API文档-中英对照版.zip

    赠送jar包:spring-cloud-circuitbreaker-sentinel-2021.1.jar; 赠送原API文档:spring-cloud-circuitbreaker-sentinel-2021.1-javadoc.jar; 赠送源代码:spring-cloud-circuitbreaker-sentinel-2021.1-sources....

    spring-cloud-circuitbreaker-sentinel-2021.1-API文档-中文版.zip

    赠送jar包:spring-cloud-circuitbreaker-sentinel-2021.1.jar; 赠送原API文档:spring-cloud-circuitbreaker-sentinel-2021.1-javadoc.jar; 赠送源代码:spring-cloud-circuitbreaker-sentinel-2021.1-sources....

    http-circuit-breaker-proxy:由 promise-circuitbreaker 提供支持的用于 Http 服务的断路器代理

    http-断路器-代理由 promise-circuitbreaker 提供支持的用于 Http 服务的断路器代理先决条件你的系统应该安装了 nodejs 您应该具有运行 nodejs 服务器的管理员/root 访问权限用法断路器代理将帮助您保护您的 https ...

    Laravel开发-laravel-circuit-breaker

    断路器模式是一种设计模式,它用于防止系统中的故障传播,特别是在分布式系统中,当某个服务不可用时,避免其他服务反复尝试与之交互导致雪崩效应。 Laravel 5是这个实现断路器模式的背景环境。Laravel是一个优雅的...

    Glossary of Circuit Breaker Terms

    英语的关于断路器术语的解释 accessory = An electrical or mechanical device that performs a secondary or minor function apart from overcurrent protection. accessory cover = A removable cover on the ...

    grpc-circuitbreaker-源码.rar

    断路器是一种设计模式,用于防止故障服务对整个系统造成连锁反应。当一个服务出现故障时,断路器会“打开”,阻止后续请求到达故障服务,转而快速返回失败响应,避免系统被长时间阻塞。一段时间后,断路器会进入“半...

    PyPI 官网下载 | circuitbreaker-1.0.1.tar.gz

    《PyPI官网下载:circuitbreaker-1.0.1.tar.gz——理解Python中的断路器模式及其在分布式系统中的应用》 PyPI(Python Package Index)是Python开发者的重要资源库,提供了大量的开源库和模块供全球用户下载使用。...

    CircuitBreaker:断路器模式的通用实现

    断路器实施断路器模式。 该电路就像您家中的电路一样工作。 如果出现问题,电路会“跳闸”,并且切断与该电路相连的插座的电源。 该电路用于调用某种类型的外部资源。 我们的目标是通过尽早失败来节省资源。 如果...

    A New Z-Source DC Circuit Breaker

    Abstract—Anovel type of circuit breaker is introduced for operation at medium-voltage dc with future naval ship power systems as a targeted application. The breaker utilizes a z-source LC circuit in ...

    golang_circuitbreaker:Go的断路器实现

    通过理解和使用`golang_circuitbreaker`,你可以增强你的Go服务的容错能力,使其能够更好地处理外部依赖的不稳定情况,提高系统的整体可用性和稳定性。记得在项目中正确配置断路器参数,以适应你的服务特性和业务...

    modifiedZbreaker.rar_DC breaker_breaker_circuit breaker_dc circu

    标题中的"modifiedZbreaker.rar"可能是一个经过修改的直流断路器(DC breaker)的模型文件,而"DC breaker"、"breaker"和"circuit breaker"都是对这种设备的称呼,它在电力系统中用于控制和保护电路。"dc_circuit_...

    CircuitBreaker.Net, 用于. NET的断路器 Pattern.zip

    CircuitBreaker.Net, 用于. NET的断路器 Pattern CircuitBreaker.Net 概述CircuitBreaker.Net 是用于. NET的断路器 Pattern的实现。 这里 Pattern 可以提高应用程序的稳定性和弹性,特别是在 SOAP 。microservi

    vacuum_circuit_breaker_reignition.zip_circuit breaker_transforme

    在“vacuum_circuit_breaker_reignition.zip_circuit breaker_transformer”这个主题中,我们聚焦于真空断路器在电流斩波和重燃现象中的表现,以及它与变压器的交互作用。 首先,真空断路器之所以被称为“真空”,...

    Polly.CircuitBreaker.DependencyInjection:Microsoft.Extensions.DependencyInjection的Polly CircuitBreaker扩展

    Microsoft.Extensions.DependencyInjection的Polly CircuitBreaker扩展 Polly.CircuitBreaker.DependencyInjection是Microsoft.Extensions.DependencyInjection的Polly CircuitBreaker扩展。 您可以安装 : Install-...

    circuitbreaker-lambda是一个基本节点模块,用于在AWS Lambda和常规异步功能中使用断路器模式。-Node.js开发

    circuitbreaker-lambda是一个基本节点模块,用于在AWS Lambda和常规异步功能中使用断路器模式。 它取决于通过/失败的假设。 阈值和超时值是可配置的,并且支持使用回退功能进行正常降级。 断路器的状态和计数器存储...

    circuitbreaker:Python“断路器”实现

    这是“断路器”模式( )的Python实现。 受到迈克尔·尼加德(Michael T. Nygard)高度推荐的书“ Release It!”的启发( )。 安装 该项目在PyPI上可用。 只需运行: $ pip install circuitbreaker 用法 这是最...

    circuit-breaker-php:PHP的断路器模式

    断路器模式PHP实现 有关此模式的更多信息,请参见 。 此实现仅具有Redis适配器 从作曲家开始 composer require leocarmo/circuit-breaker-php Redis适配器 第一个参数是redis连接,第二个参数是您的产品名称,...

    spring-cloud-circuitbreaker:Spring Cloud Circuit Breaker API和实现

    弹簧云断路器 目录 1.1.6。 特定的隔板配置 隔壁示例 线程池隔板示例 1.1.7。 隔板属性配置 1.1.8。 收集指标 ... 配置弹簧重试断路器 ... 特定断路器配置 ... 3.... 守则惯例和家政服务 ...Spring Cloud CircuitBreaker项目包

    circuit_breaker:晶体中断路器模式的实现

    晶体中断路器模式是构建高可用分布式系统的关键工具之一。通过合理使用,开发者可以在系统出现故障时快速响应,降低影响,并在系统恢复后平滑地重新接入服务,保持系统的稳定运行。在Crystal这样的静态类型语言中,...

    durable-python-circuit-breaker:耐用的Python函数的断路器示例

    总结来说,`durable-python-circuit-breaker`项目为Python开发者提供了一种实现断路器模式的工具,它有助于增强应用的容错能力和稳定性。通过正确配置和使用,我们可以更好地管理服务间的依赖,降低因单个服务故障而...

Global site tag (gtag.js) - Google Analytics