Hystrix的配置比较多,包含设定熔断规则、能力开启、选择隔离方式以及线程数、并发数等设置,下面了解一些常用的Hystrix配置项。
(1)线程数配置
在配置文件中,添加如下配置,然后再次对服务进行压力测试,如图9-14所示。
图9-14 服务压力监控
从图中的显示结果可见,服务现在基本处于稳定运行的状态,仅有几个调用是超时的。还有一点应该注意,在Thread Pools部分,Pool Size从10变成了100。可见使用配置扩大线程数后,程序的执行能力确实提高了[47]。
(2)设置超时时间
上图中存在一些请求的超时情况,如果被调用服务的业务逻辑比较复杂,或者压力较大时执行速度较慢,但又不希望Hystrix很快就判定服务调用超时,这时可设置一个期望的值,作为熔断器判定超时的依据。
通过配置把超时时间设置为2s,服务再次执行压力测试,没有出现超时情况,整个服务运行正常,如图9-15所示。注意超时时间不要设置过大,如果设置为几十秒就失去了意义。
(www.xing528.com)
图9-15 服务压力监控
(3)信号量隔离与并发数
另一种隔离方式是信号量隔离,它没有单独开辟出一个线程池,而是用并发数进行控制。使用信号量隔离也能承载相当的业务压力,只是它没有线程池监控[48],具体配置如下。效果如图9-16所示。
图9-16 服务压力监控
(4)熔断触发次数
可以设置熔断执行的条件,例如下面的设定,是设置当滚动时间窗口内,达到几次失败则触发熔断机制,默认为20,这里设定为1,此设置仅作为演示,毕竟这个值实在是太小了。
Hystrix还有一些其他设置,例如设置线程池的队列大小,设置滚动时间窗口的长度等,如果没有特殊需求,使用默认值即可。当然如果对其非常感兴趣可以翻阅相关文档。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。