编程语言
首页 > 编程语言> > java – Spring Cloud:如何在Zuul网关中为Hystrix定义默认回退?

java – Spring Cloud:如何在Zuul网关中为Hystrix定义默认回退?

作者:互联网

我正在使用Spring Cloud Brixton.M3和Spring Boot 1.3.0.RELEASE.我在这方面有点新鲜(特别是在Spring Cloud中).我创建了Registry Server(即Eureka实例),Config服务器和Gateway.
根据我的要求,我拦截每个请求到达我的一个过滤器中的网关,以从Header中提取所需信息,并根据我抛出异常或使用Feign Client转发/验证该请求.有些时候hystrix在无法访问相应服务或因任何其他问题时抛出HystrixRuntimeException.

所以我想要的是:

>为每个转发请求提供默认回退方法,以便我可以相应地阅读和处理它.
> @ControllerAdvice以外的全局异常处理,因为我没有提供任何自定义@HystrixCommand和Controller来调用服务(基于AOP的解决方案?).
>是否有可能拦截每个失败的请求并重试它们一定次数?在内部它可能正在发生,但我可以覆盖此功能并处理每个失败的请求,因为TimedOutException或HttpConnectionPool异常?

更新
在Zuul网关中提供自己的路由是一种好习惯吗?一起使用@RestController和@HystrixCommand? (我认为这是一个坏主意,因为在一段时间内我们最终将会有大量的控制器,因此实际使用智能路由将无法按预期工作)

解决方法:

目前有一个open issue的假装后备.还有一个open issue与zuul的后备.

标签:java,spring,spring-boot-2,spring-cloud-2
来源: https://codeday.me/bug/20190702/1356805.html