hystrix熔断与限流原理?
hystrix是一个帮助解决分布式系统交互时超时处理和容错的类库, 它同样拥有保护系统的能力。
hystrix的设计原则包括:资源隔离、熔断器、命令模式、资源隔离。
hystrix将同样的模式运用到了服务调用者上。
hystrix通过将每个依赖服务分配独立的线程池进行资源隔离, 从而避免服务雪崩。
熔断器模式定义了熔断器开关相互转换的逻辑:服务的健康状况 = 请求失败数 / 请求总数。
熔断器开关由关闭到打开的状态转换是通过当前服务健康状况和设定阈值比较决定的。
当熔断器开关关闭时, 请求被允许通过熔断器。
如果当前健康状况高于设定阈值, 开关继续保持关闭。
如果当前健康状况低于设定阈值, 开关则切换为打开状态。
当熔断器开关打开时, 请求被禁止通过。
当熔断器开关处于打开状态, 经过一段时间后, 熔断器会自动进入半开状态, 这时熔断器只允许一个请求通过。
当该请求调用成功时, 熔断器恢复到关闭状态. 若该请求失败, 熔断器继续保持打开状态, 接下来的请求被禁止通过。
熔断器的开关能保证服务调用者在调用异常服务时, 快速返回结果, 避免大量的同步等待。
并且熔断器能在一段时间后继续侦测请求执行结果, 提供恢复服务调用的可能。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有