需求描述,使用zuul作为后台网站的前置网关:
0代码纯配置。环境需求:eureka,springboot业务节点
1.添加负载均衡
需要加以下内容:
开启负载均衡:
spring:
cloud:
loadbalancer:
retry:
enabled: true
开启zuul负载均衡
zuul:
ribbon:
eager-load:
enabled: true
clients: datisweb
routes:
test:
sensitiveHeaders: "*" # 防止session发生变更
path: /**
serviceId: datisweb
retryable: true
ignored-services: "*"
retryable: true
设置异常后重试节点:
test:
ribbon:
ReadTimeout: 10000
ConnectTimeout: 10000
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
OkToRetryOnAllOperations: true
MaxAutoRetriesNextServer: 2 #重试节点次数
MaxAutoRetries: 0 #单节点重试次数
当然这里请注意除了以上外还需引入:
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
如果不加,以上的重试机制将不会起作用。