微服务断路器Hystrix思考

本文介绍服务雪崩现象及其解决方案,重点讨论Hystrix的两种熔断策略——线程池隔离和信号量隔离,并对比两者在超时处理、资源消耗等方面的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在腾讯课堂看到服务雪崩,就是一个服务访问太多,导致服务之间的相应超时,一直堆积,导致其他访问也一直等待,访问不了。

2.解决方案:

1)超时机制

2)断路器

Hystrix,当你访问数量超过一定时,进行报错

它具体是如何做到的呢?

 

Hystrix有两种形式进行熔断策略的:线程池,信号量

线程池,将请求的线程交给线程池,靠线程池的拒绝策略来控制

信号量模式,Semaphone,信号量每次减一,当执行完,将信号量释放

 

那么它们之间有什么区别?

隔离方式是否支持超时是否支持熔断隔离原理是否是异步调用资源消耗
线程池隔离支持,可直接返回支持,当线程池到达maxSize后,再请求会触发fallback接口进行熔断每个服务单独用线程池可以是异步,也可以是同步。看调用的方法大,大量线程的上下文切换,容易造成机器负载高
信号量隔离不支持,如果阻塞,只能通过调用协议(如:socket超时才能返回)支持,当信号量达到maxConcurrentRequests后。再请求会触发fallback通过信号量的计数器同步调用,不支持异步

 

小,只是个计数器

 

上图参考其他博客。

可以看到线程池支持超时处理,同时它资源消耗也是巨大的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值