Hystrix的线程池和信号量限流概念
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hystrix的线程池和信号量限流概念相关的知识,希望对你有一定的参考价值。
简述
Hystrix在springcloud中是常用的限流工具。平时在写feign接口的时候所使用的FallbackFactory就是来自Hystrix。其主要目的是防止服务被拖垮。比如A请求B,B请求C,在B->C的时候阻塞了,导致A也被拖住了。那么此时就要做一些操作,不让A也被拖垮。
线程池隔离
简单来说就是启用了一个线程池提供给服务调用。举例来说就是A调用B的线程都走线程池,这样就自然控制了请求的数量。
Hystrix默认实现的策略就是线程池隔离。
执行方式和线程池相同,数量未达到核心线程数就一直创建核心线程数,达到核心线程数就进入等待队列,等待队列满了就看拒绝阈值(可以覆盖等待队列)是否超过。
信号量隔离
和线程池类似,只是实现方式不一样。
信号量是将标识给tomcat线程,信号量有多少就允许多少tomcat线程通过它。
以上是关于Hystrix的线程池和信号量限流概念的主要内容,如果未能解决你的问题,请参考以下文章