阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hystrix处理容错的机制

102次阅读
没有评论

共计 669 个字符,预计需要花费 2 分钟才能阅读完成。

1、Hystrix 处理容错的机制

1.1、熔断机制

原理:

  • 在正常状态下,电路处于关闭状态

  • 如果调用服务持续出错或者超时达到一个阀值,则断路器会直接切断请求链,电路被打开进入熔断状态,以避免发送大量无效请求而影响系统吞吐量,后续一段时间内所有调用都会被拒绝

  • 一段时间以后,保护器会尝试进入半熔断状态,允许少量请求进行尝试。如果调用仍然失败,则回到熔断状态;如果调用成功,则回到电路关闭状态

1.2、隔离机制

1.2.1、线程池隔离模式

在 Hystrix 的线程池隔离模式下,会为每一个依赖建立一个线程池,以存储对当前依赖的请求。每个依赖可以根据权重分配资源 (线程),一部分依赖出现问题不会影响其它依赖使用资源。

1.2.2、信号量隔离模式

原理:

Hystrix 处理容错的机制

  • 记录当前运行的信号量

  • 判断信号量的值,如果大于设置的最大线程值,则丢弃该类型请求;如果小于设置的值,则执行计数操作,信号量 +1

信号量隔离模式无法应对突发流量。

1.2.3、降级机制

服务降级是指:如果整体资源快不够用了,则将某些服务先关掉,等到资源足够时再重新开启这些服务。和熔断的目的一样,该机制也是用来保证上游服务的稳定性。

降级一般采用两种模式:

  • fallback 模式:如果服务失败,则通过 fallback 返回静态值进行降级

  • 服务级联的模式:如果服务失败,则调用备用服务。服务级联模式的目的是尽可能返回数据。但是如果考虑不充分,则有可能导致级联的服务崩溃

1.2.4、缓存机制

缓存机制是将请求结果缓存起来,如果相同 ”key” 的请求发送过来,则将直接从缓存中取出结果,以减少请求开销。采用这种机制会对排查故障造成一定的困扰。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-06-06发表,共计669字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中