码迷,mamicode.com
首页 > 编程语言 > 详细

Hystrix-命令名称、分组以及线程池划分

时间:2017-12-26 14:43:22      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:bsp   命令使用   idt   组织   color   命令   继承   http   strong   

命令名称:

  1.1 以继承的方式实现Hystrix命令使用类名作为默认的命令名称,我们也可以在构造函数中通过Setter静态类来设置

        技术分享图片

  1.2 为了保存每个命令分配的Setter分配,你也可以像这样缓存Setter

  技术分享图片

命令分组和线程池划分:

  通过设置命令组,Hystrix会根据组来组织和统计命令的告警、仪表盘等信息。一定要设置命令组,因为除了根据组来实现统计外,Hystrix命令默认的线程划分也是根据命令分组来实现的。默认情况下,Hystrix会让相同组名的精灵使用同一个线程池,所以我们需要在创建Hystrix命令时为其指定命令组名来实现默认的线程池划分。

  Hystrix还提供了HystrixThreadPoolKey来对线程池进行设置,通过它我们可以实现更细粒度的线程池划分,比如

   技术分享图片

  通常情况下,尽量通过HystrixThreadPoolKey的方式来指定线程池的划分,而不是通过组名默认的方式,因为多个不同的命令可能从业务逻辑上来看属于同一个组,但是往往从实现本身上需要跟其他命令进行隔离。

  当我们使用@HystrixCommand注解的时候,只需要设置commandKey、groupKey以及threadPoolKey属性就可以设置命令名称、分组以及线程划分。

   @HystrixCommand(commandKey = "getUserId", groupKey = "UserGroup", threadPoolKey = "getUserByIdThread")
    public String getUserId(String name) {
        .....
    }

 

 

 

 

参考:

[1]Github,https://github.com/Netflix/Hystrix/wiki/How-it-Works

 [2] 《SpringCloud微服务实战》,电子工业出版社,翟永超

Hystrix-命令名称、分组以及线程池划分

标签:bsp   命令使用   idt   组织   color   命令   继承   http   strong   

原文地址:https://www.cnblogs.com/happyflyingpig/p/8117309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!