记一次被问到的面试题:Hystrix系列之信号量、线程池
Hystrix内部,提供了两种模式隔离策略:信号量
、线程池
。(默认情况下,Hystrix使用 线程池模式
。)
- 信号量隔离,适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身
- 线程池隔离,即:每个实例都增加个线程池进行隔离
总结:
对信号量 Semaphore 还不了解的,来这里瞅瞅了解一下哈:Java并发工具类 Semaphore 的用法
线程池隔离 | 信号量隔离 | |
---|---|---|
官方推荐 | 是 | 否 |
是否支持超时 | 支持,超时直接返回 | 不支持,如果阻塞,只能通过调 用协议(如:socket超时才能返回) |
是否支持熔断 | 支持,当线程池到达maxSize后,再 请求会触发fallback接口进行熔断 |
支持ÿ |