Ribbon重試機制與Hystrix熔斷機制的配置問題1


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 比較好,具體看需求進行配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM