1.1. 一、什么是hystrix的隔离策略。

Hystrix 的官方文档有下面这个图:

比如:服务A依赖服务B、C。服务A能开启的最多请求数是有限制的。如果服务B很慢, 那服务A的请求数就会被服务B占用,导致服务A不能去请求服务C。为了解决这种情况,hystrix 为每个依赖的服务创建一个线程池。 比如:服务A依赖服务B、C。那服务A就分别为服务B、服务C创建一个线程池。作为调用服务B、服务C能开启的最大请求并发数。 这时候无论服务B多慢,服务B能占用服务A的最多请求数也就是和线程池中的线程数量一样的。
服务间的请求隔离策略,配置参数是execution.isolation.strategy,除了使用线程池THREAD,hystrix 还提供了信号量SEMAPHORE方式配置。具体参考官方文档
默认使用线程池THREAD(也是推荐使用的)。

results matching ""

    No results matching ""