SpringCloudZuul如何实现重试配置

这篇文章主要为大家展示了“Spring Cloud Zuul如何实现重试配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud Zuul如何实现重试配置”这篇文章吧。

创新互联专注于达拉特网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供达拉特营销型网站建设,达拉特网站制作、达拉特网页设计、达拉特网站官网定制、成都微信小程序服务,打造达拉特网络公司原创品牌,更为您提供达拉特网站排名全网营销落地服务。

Spring Cloud Zuul模块本身就包含了对于hystrix和ribbon的依赖,当我们使用zuul通过path和serviceId的组合来配置路由的时候,可以通过hystrix和ribbon的配置调整路由请求的各种时间超时机制。

1 ribbon配置举例

配置连接超时时间1秒,请求处理时间2秒,统一服务server尝试重连1次,切换server重连1次

ribbon:
 ConnectTimeout: 1000
 ReadTimeout: 2000
 MaxAutoRetries: 1
 MaxAutoRetriesNextServer: 1

2 hystirx配置举例

hystrix:
 command:
  default:
   execution:
    isolation:
     thread:
      timeoutInMilliseconds: 60000

这里需要注意的是hystrix的配置时间应该大于ribbon全部重试时间的总和,上面我配置的是2次重试,包括首次请求,三次时间是6秒

引用官方大神的一段说明

When using Hystrix commands that wrap Ribbon clients you want to make sure your Hystrix timeout is configured to be longer than the configured Ribbon timeout, including any potential
retries that might be made. For example, if your Ribbon connection timeout is one second and
the Ribbon client might retry the request three times, than your Hystrix timeout should
be slightly more than three seconds.

3 打开zuul的重试配置:

zuul:
  retryable: true

特别注意zuul的重试配置需要依赖spring的retry,不然的话怎么配置都是徒劳


  org.springframework.retry
  spring-retry

以上是“Spring Cloud Zuul如何实现重试配置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网站栏目:SpringCloudZuul如何实现重试配置
本文链接:http://pwwzsj.com/article/pdgjsc.html