假装客户端'readTimeout'与hystrix.execution.isolation.thread.timeoutInMilliseconds的配置之间是不是有任何关系

Posted

技术标签:

【中文标题】假装客户端\'readTimeout\'与hystrix.execution.isolation.thread.timeoutInMilliseconds的配置之间是不是有任何关系【英文标题】:Is there any relationship between feign clients 'readTimeout' and configuration of hystrix.execution.isolation.thread.timeoutInMilliseconds假装客户端'readTimeout'与hystrix.execution.isolation.thread.timeoutInMilliseconds的配置之间是否有任何关系 【发布时间】:2020-07-19 03:03:44 【问题描述】:

首先,我很抱歉我的英语不好:)

我对 feign 客户端 'readTimeout'、'connectTimeout' 和 hystrix.execution.isolation.thread.timeoutInMilliseconds 的配置之间的关系有疑问。

我在设置隔离时使用了“线程”选项而不是信号量。

以下是我的相关设置。

hystrix:
  threadpool:
    A:
      coreSize: 5
      maximumSize: 5
      allowMaximumSizeToDivergeFromCoreSize: true


feign:
  client:
    config:
      A:
        connectTimeout: 500
        readTimeout: 500
        loggerLevel: basic

希望你给我一个答复。 ????

【问题讨论】:

它们的关系只是hystrix值需要超过feign客户端值的总和。 【参考方案1】:

我找到了答案。 Hystrix 的线程超时优先级高于 Feign 客户端超时。 Hystrix's thread timeout

Test case
1. condition:
- the timeout that related to Feign: 2s
- the timeout that related to Hystrix's thread: 1s

2. result
- Feign's timeout can't be work! 

【讨论】:

以上是关于假装客户端'readTimeout'与hystrix.execution.isolation.thread.timeoutInMilliseconds的配置之间是不是有任何关系的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 Ribbon 配置 Feign 客户端 ConnectTimeout 和 ReadTimeout 覆盖吗?

如何在 Google HTTP 客户端中增加 ReadTimeout

Net::ReadTimeout (Net::ReadTimeout) Selenium Ruby

反应式假装客户端全局重试

春云 |假装Hytrix |首次通话超时

如何在多个假装客户端之一中禁用 hystrix