hystrix学习(一)之Command Properties之Execution

 

 

 

 一、HystrixCommand.run执行时会用到 isolation.strategy:有两个选项二选一:

  1、线程:在单独的线程上执行,并发请求受线程池中线程数的限制

  2、信号量:在调用线程上执行,并发请求受到信号量计数的限制

  默认设置和推荐设置是使用线程隔离(thread)运行HystrixCommands,使用信号隔离(semaphore)运行HytrixObservableCommands。

 

 

 二、通常,只有当调用为高并发(每秒百次调用)时,信号量隔离被用于HystrixCommand,因为单独线程的开销太高!

 

 

 三、如上图,isolationStrategy默认值为线程。

 

 四、如上图,超时毫秒值,默认1000毫秒,当执行时间达到1000毫秒,未执行结束,则为超时,会执行fallback。可以为每个指令设置超时时间。

 

 五、如上图,是否启用超时校验。默认启用。

 

 六、如上图,当发现超时时,是否中断。默认true.

 

 七、如上图,当发现取消时,是否中断,默认false。

 

 八、1、如上图,这个属性是当隔离策略设置为信号量时,并发请求上限阈值。 达到上限时,后续请求将被拒绝。

  2、信号量的开销更小,执行速度更快。

 

posted @ 2023-02-27 21:43  董振  阅读(86)  评论(0)    收藏  举报