Spring Cloud Zuul的重试配置详解

2025-05-29 0 82

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

1 ribbon配置举例

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

?

1

2

3

4

5
ribbon:

ConnectTimeout: 1000

ReadTimeout: 2000

MaxAutoRetries: 1

MaxAutoRetriesNextServer: 1

2 hystirx配置举例

?

1

2

3

4

5

6

7
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的重试配置:

?

1

2
zuul:

retryable: true

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

?

1

2

3

4
<dependency>

<groupId>org.springframework.retry</groupId>

<artifactId>spring-retry</artifactId>

</dependency>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://segmentfault.com/a/1190000014186143

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Spring Cloud Zuul的重试配置详解 https://www.kuaiidc.com/112518.html

相关文章

发表评论
暂无评论