Spring boot zuul(没有尤里卡)-总是以;转发错误“;
我使用ribbon(不带eureka)将zuul配置为2个实例,如下所示:Spring boot zuul(没有尤里卡)-总是以;转发错误“;,spring-boot,spring-cloud,netflix-zuul,spring-cloud-netflix,netflix-ribbon,Spring Boot,Spring Cloud,Netflix Zuul,Spring Cloud Netflix,Netflix Ribbon,我使用ribbon(不带eureka)将zuul配置为2个实例,如下所示: zuul.retryable=true zuul.routes.simple-ms-app.serviceId: client client.ribbon.listOfServers=http://localhost:7788,http://localhost:8877 当两个实例7788和8877都启动并运行时,一切正常 当服务器列表中的第一个实例关闭时,请求以以下错误结束: com.netflix.zuul.exc
zuul.retryable=true
zuul.routes.simple-ms-app.serviceId: client
client.ribbon.listOfServers=http://localhost:7788,http://localhost:8877
当两个实例7788和8877
都启动并运行时,一切正常
当服务器列表
中的第一个实例关闭时,请求以以下错误结束:
com.netflix.zuul.exception.zuuleexception:转发错误
我正在使用以下版本配置:
springboot:2.0.7.发布
springcloud:Finchley.SR2
如果有人遇到过类似的问题并设法找到了解决方案,请在这里分享
谢谢。默认情况下,当上游服务不可用时,Zuul会抛出异常(而不是抛出503/404)。GitHub线程中已经详细讨论了这种行为 要处理此情况并将Zuul配置为在(当前和下一个)可用实例上重试,您需要做两件事:
- 扩展ErrorFilter并使用自定义行为处理异常
- 为Zuul配置重试
zuul:
retryable: true
ribbon:
MaxAutoRetries: 1
MaxAutoRetriesNextServer: 3
OkToRetryOnAllOperations: true
yourApplication:
ribbon:
listOfServers: instance-1-url, instance-2-url
请注意,springretry是Zuul中retry的依赖项