8-18 Hystrix隔离术介绍
线程隔离这块,一定会有线程池,有线程池,我们一般会给他启用一个唯一标识。然后用来对于线程池进行一些相关的操作。就像我们有孩子,我们给他起名字张三、二狗,紧接着呢我想去召唤他什么的,我就用这个名字就可以了。这就是ThreadPoolKey的意思。 ThreadPoolKey不是必填项。Hytrix在你不指定ThreadPoolKey的情况下默认会使用GroupKey命名线程池。 添加线程池的方法 演示怎么改线程池的名称。 信号量是操作系统底层的一个概念。大家如果搜linux的信号量,应该能搜到具体的意思。Hytrix里面信号量的通俗的解释。可以认为它是一种计数器,没进来就加1.当信号量上限满了,我就不允许后面再进来了。说白了它就是一个排队的过程,你进来一个,我就加一个,这就好像停车场,来一个车,车位就数量减1,数量减没了就代表我所有的车就停满了。 信号量不是单起一个线程给你执行业务逻辑,它就在你的主线程上去执行,但是你主线程调用的次数我要限制,超过这个数量,我就不允许你在主线程上继续执行了。 就是信号量本身做的一个事情。这个事情不难理解。 官方图,用来讲解信号量和线程隔离。 当一个请求进来了,它就分为三种情况两大类去执行。首先左边这一块。这一块是线程隔离。 右侧的就是信号量。它有10个计数。 两者主要的区别就在这里,加Denpendency Thread依赖的线程