资讯专栏INFORMATION COLUMN

Hystrix相关属性说明

沈俭 / 663人阅读

摘要:是所在的线程池,如果该参数不设置则使用作为,这种情况下同一个下的依赖调用共用同一个线程池内,如果不想共用同一个线程池,则需要设置该参数。每个必须要配置一个分组名,一个是用于分组,还有如果没有配置,这个分组名将会用于线程池名。

Hystrix是什么
分布式服务系统通常会通过HTTP或RPC方式调用所依赖的服务,例如支付服务通过HTTP或RPC调用银行卡服务。在高并发请求的情景下,依赖的服务可能会出现服务异常、网络连接缓慢、资源繁忙、暂时不可用、服务脱机等情况,这些异常情况将会严重影响整个线上系统的稳定性和可用性,最糟糕的情况是产生服务雪崩效应。复杂的分布式服务系统往往会依赖更多的其它服务,在高并发的情况下,如果没有做好隔离措施,这些依赖将会拖垮整个服务调用者。Hystrix是Netflix的一个帮助解决分布式服务系统交互时超时处理和容错的类库,它具有降级和熔断的保护能力,可以优雅的解决上述问题。

属性配置:
1 HystrixCommandKey
Hystrix使用单例模式存储HystrixCommand,熔断机制就是根据单实例上的调用情况统计实现的,所以每个HystrixCommand要有自己的名字,用于区分,同时用于依赖调用的隔离。HystrixCommandKey就是用于定义这个名字,如果没有定义这个名字,Hystrix会使用其类名作为其名字,可以使用HystrixCommandKey.Factory.asKey(String name)方法定义一个名称。
2 HystrixThreadPoolKey
HystrixThreadPoolKey是HystrixCommand所在的线程池,如果该参数不设置则使用HystrixCommandGroupKey作为HystrixThreadPoolKey,这种情况下同一个HystrixCommandGroupKey下的依赖调用共用同一个线程池内,如果不想共用同一个线程池,则需要设置该参数。可以使用HystrixThreadPoolKey.Factory.asKey(String name)方法设置。

3 HystrixCommandGroupKey
Hystrix需要对HystrixCommand进行分组,便于统计、管理,所以需要一个分组名称,HystrixCommandGroupKey就是用于定义分组名称,可以使用HystrixCommandGroupKey.Factory.asKey(String name)方法定义一个分组名。每个HystrixCommand必须要配置一个分组名,一个是用于分组,还有如果没有配置HystrixThreadPoolKey,这个分组名将会用于线程池名。

4 HystrixThreadPoolProperties
从名称上可以看出这是线程池的属性配置,可以通过它设置核心线程数大小、最大线程数、任务队列大小等,当然它也又一些默认的配置参数。

5 HystrixCommandProperties
这个就是HystrixCommand的属性配置,它可以设置熔断器是否可用、熔断器熔断的错误百分比、依赖调用超时时间等,它有一些默认的配置参数,如熔断器熔断的错误百分比默认值是50%、依赖调用超时时间默认值是1000毫秒。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69017.html

相关文章

  • SpringCloud(第 015 篇)电影Ribbon微服务集成Hystrix增加隔离策略控制指标

    摘要:传播安全上下文或使用,通过增加的属性,来增加相关的配置来达到执行隔离策略,控制线程数或者控制并发请求数来达到熔断降级的作用。 SpringCloud(第 015 篇)电影Ribbon微服务集成Hystrix增加隔离策略控制线程数或请求数来达到熔断降级的作用 - 一、大致介绍 1、本章节介绍关于Hystrix的2种隔离方式(Thread Pool 和 Semaphores); 2、Thr...

    RobinQu 评论0 收藏0
  • SpringCloud(第 020 篇)Zuul 网关模块添加 listOfServers 属性,达

    摘要:注意注解能注册到服务上,是因为该注解包含了客户端的注解,该是一个复合注解。地址可以查看该微服务网关代理了多少微服务的。 SpringCloud(第 020 篇)Zuul 网关模块添加 listOfServers 属性,达到客户端负载均衡的能力 - 一、大致介绍 1、本章节添加另外一个属性 listOfServers 来给 zuul 赋上异样的功能色彩,提供负载均衡的能力; 2、而其实说...

    Dogee 评论0 收藏0
  • 根因分析初探:一种报警聚类算法在业务系统的落地实施

    摘要:围绕上面描述的问题,以及对于报警聚类处理的分析假设,本文主要做了以下事情选定聚类算法,简单描述了算法的基本原理,并给出了针对报警日志聚类的一种具体的实现方案。算法选择聚类算法采用论文中描述的根因分析算法。聚类算法算法的执行,我们以图来表示。 背景 众所周知,日志是记录应用程序运行状态的一种重要工具,在业务服务中,日志更是十分重要。通常情况下,日志主要是记录关键执行点、程序执行错误时的现...

    Loong_T 评论0 收藏0
  • SpringCloud(第 019 篇)Zuul 网关微服务的一些属性应用测试

    SpringCloud(第 019 篇)Zuul 网关微服务的一些属性应用测试 - 一、大致介绍 1、本章节根据官网资料,尝试了一些其它属性的设置,比如 path、serviceId、prefix、strip-prefix 等应用; 2、这些组合试用的场景大多数在一些地址方面需要重新映射或者针对特殊地址做特殊处理等,至于其它一些深层次的应用大家做过知道的话也可以告尽情回帖让大家都来学习学习。 二、...

    imtianx 评论0 收藏0
  • SpringCloud(第 018 篇)Zuul 服务 API 网关微服务之代理与反向代理

    摘要:注意注解能注册到服务上,是因为该注解包含了客户端的注解,该是一个复合注解。地址可以查看该微服务网关代理了多少微服务的。 SpringCloud(第 018 篇)Zuul 服务 API 网关微服务之代理与反向代理 - 一、大致介绍 1、API 服务网关顾名思义就是统一入口,类似 nginx、F5 等功能一样,统一代理控制请求入口,弱化各个微服务被客户端记忆功能; 2、本章节主要讲解了使用...

    YancyYe 评论0 收藏0

发表评论

0条评论

沈俭

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<