1.hystrix核心主要用作服务隔离,服务熔断
hystrix服务隔离,有两种方式 1.线程池隔离方式,2,信号量的方式
1.线程池隔离方式:提供了一个抽象 Command,把某一个依赖服务所有的调用请求,都走同一个线程池中的线程, 而不会用其他的线程资源,这就叫做线程池资源隔离.
Command :每次服务调用请求,都是使用线程池内的一个线程去执行 command 的, comman 里面是你的业务逻辑。
假设该组服务线程池是 3 个线程,同时发起了 1000 个请求, 最多也只会有 3 个线程去执行请求,那么就算这个服务故障了,也不会将所有资源耗尽
线程池隔离技术,并不是控制的tomcat的这种web线程.而是,控制自己的线程. 来保证 tomcat的线程不被卡住.快速返回.
2.信号量的隔离
信号量只是一道关卡,没有自己的线程池.只能在同时允许n个线程进来(n个线程)自己设置.如果多的线程进来,就会快速返回,做falback降级