时间:2021-05-02
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: 12 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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://segmentfault.com/a/1190000014186143
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
zuul各版本实现存在一些微小的变化,总的实现思想未改变,以spring-cloud-netflix-core-1.3.6.RELEASE为例一、zuul的重要
先简单说一下我们工程的架构:前端工程是采用react,后端工程采用spring-cloud,里面分为zuul工程和其他功能模块。zuul工程除了提供后端的路由转
1.官方文档https://cloud.spring.io/spring-cloud-static/spring-cloud-openfeign/2.2.2.R
构建Zuul自定义过滤器,限制ip频繁请求自定义zuul过滤器其实很简单1.首先pom文件得先引入zuul依赖org.springframework.cloud
文档地址https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-ali