首页 理论教育 Hystrix配置指南

Hystrix配置指南

时间:2023-11-22 理论教育 版权反馈
【摘要】:Hystrix的配置比较多,包含设定熔断规则、能力开启、选择隔离方式以及线程数、并发数等设置,下面了解一些常用的Hystrix配置项。Hystrix还有一些其他设置,例如设置线程池的队列大小,设置滚动时间窗口的长度等,如果没有特殊需求,使用默认值即可。

Hystrix配置指南

Hystrix的配置比较多,包含设定熔断规则、能力开启、选择隔离方式以及线程数、并发数等设置,下面了解一些常用的Hystrix配置项。

(1)线程数配置

在配置文件中,添加如下配置,然后再次对服务进行压力测试,如图9-14所示。

978-7-111-61011-3-Part02-301.jpg

978-7-111-61011-3-Part02-302.jpg

图9-14 服务压力监控

从图中的显示结果可见,服务现在基本处于稳定运行的状态,仅有几个调用是超时的。还有一点应该注意,在Thread Pools部分,Pool Size从10变成了100。可见使用配置扩大线程数后,程序的执行能力确实提高了[47]

(2)设置超时时间

上图中存在一些请求的超时情况,如果被调用服务的业务逻辑比较复杂,或者压力较大时执行速度较慢,但又不希望Hystrix很快就判定服务调用超时,这时可设置一个期望的值,作为熔断器判定超时的依据。

978-7-111-61011-3-Part02-303.jpg

通过配置把超时时间设置为2s,服务再次执行压力测试,没有出现超时情况,整个服务运行正常,如图9-15所示。注意超时时间不要设置过大,如果设置为几十秒就失去了意义。

978-7-111-61011-3-Part02-304.jpg(www.xing528.com)

图9-15 服务压力监控

(3)信号量隔离与并发数

另一种隔离方式是信号量隔离,它没有单独开辟出一个线程池,而是用并发数进行控制。使用信号量隔离也能承载相当的业务压力,只是它没有线程池监控[48],具体配置如下。效果如图9-16所示。

978-7-111-61011-3-Part02-305.jpg

978-7-111-61011-3-Part02-306.jpg

图9-16 服务压力监控

(4)熔断触发次数

可以设置熔断执行的条件,例如下面的设定,是设置当滚动时间窗口内,达到几次失败则触发熔断机制,默认为20,这里设定为1,此设置仅作为演示,毕竟这个值实在是太小了。

978-7-111-61011-3-Part02-307.jpg

Hystrix还有一些其他设置,例如设置线程池的队列大小,设置滚动时间窗口的长度等,如果没有特殊需求,使用默认值即可。当然如果对其非常感兴趣可以翻阅相关文档。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈