博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ribbon重试机制与Hystrix熔断机制的配置问题1
阅读量:6827 次
发布时间:2019-06-26

本文共 937 字,大约阅读时间需要 3 分钟。

Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制就没有任何意义了。

 

  1. service-hi:
  2. ribbon:
  3. ReadTimeout:
    2000
  4. ConnectTimeout:
    1000
  5. MaxAutoRetries:
    1
  6. MaxAutoRetriesNextServer:
    1
  7.  
  8.  
  9. hystrix:
  10. command:
  11. default:
  12. execution:
  13. timeout:
  14. enabled:
    true
  15. isolation:
  16. thread:
  17. timeoutInMilliseconds:
    8000

从上面的配置来说,ribbon超时配置为2000,请求超时后,该实例会重试1次,更新实例会重试1次。

所以hystrix的超时时间要大于 (1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout 比较好,具体看需求进行配置。

Ribbon超时与Hystrix超时问题,为了确保Ribbon重试的时候不被熔断,我们就需要让Hystrix的超时时间大于Ribbon的超时时间,否则Hystrix命令超时后,该命令直接熔断,重试机制就没有任何意义了。

 

  1. service-hi:
  2. ribbon:
  3. ReadTimeout:
    2000
  4. ConnectTimeout:
    1000
  5. MaxAutoRetries:
    1
  6. MaxAutoRetriesNextServer:
    1
  7.  
  8.  
  9. hystrix:
  10. command:
  11. default:
  12. execution:
  13. timeout:
  14. enabled:
    true
  15. isolation:
  16. thread:
  17. timeoutInMilliseconds:
    8000

从上面的配置来说,ribbon超时配置为2000,请求超时后,该实例会重试1次,更新实例会重试1次。

所以hystrix的超时时间要大于 (1 + MaxAutoRetries + MaxAutoRetriesNextServer) * ReadTimeout 比较好,具体看需求进行配置。

转载地址:http://ruykl.baihongyu.com/

你可能感兴趣的文章
使用 canvas 绘图
查看>>
Express 文档(Express生成器)
查看>>
【C++】 41_类型转换函数 (上)
查看>>
SEER见证人操作指南
查看>>
函数式编程中的组合子
查看>>
linux-node开发的部署方式--PM2
查看>>
JavaScript面向对象OOM 2(JavaScript 创建对象的工厂模式和构造函数模式)
查看>>
【ES6入门10】:Proxy和Reflect
查看>>
angular前后端分离部署
查看>>
Anaconda:安装或更新 Python 第三方包
查看>>
Java中线程的5种状态
查看>>
Node.js 指南(阻塞与非阻塞概述)
查看>>
Java 常用 API 学习
查看>>
微信小程序填坑清单
查看>>
递归问题(邓公数据结构1.4节笔记)
查看>>
“山竹”影响出来的多应用单点登录
查看>>
获取不到scrollTop的问题
查看>>
Pycharm 项目运行错误问题整理
查看>>
Logtail从入门到精通(六):工作原理简介
查看>>
阿里云王牌架构师二问开发者:容器和虚拟化你会怎么选?
查看>>