在 Spring Boot 中使用 netflix zuul 面临微服务问题

Posted

技术标签:

【中文标题】在 Spring Boot 中使用 netflix zuul 面临微服务问题【英文标题】:Facing issue with Microservice using netflix zuul in SpringBoot 【发布时间】:2019-01-27 21:42:46 【问题描述】:

应用程序启动失败


说明:

无法注册在类路径资源 [org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration$ZuulCounterFactoryConfiguration.class] 中定义的 bean 'counterFactory'。已在类路径资源 [org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration$ZuulMetricsConfiguration.class] 中定义了具有该名称的 bean,并且已禁用覆盖。

行动:

考虑重命名其中一个 bean 或通过设置 spring.main.allow-bean-definition-overriding=true 来启用覆盖

【问题讨论】:

如果你使用 Maven,请分享你的 pom.xml org.springframework.cloudspring-cloud-starter-netflix-zuul 【参考方案1】:

使用 2.0.x 的 Spring Boot 版本...他们还没有引入对 2.1.x 的 Zuul 支持

谢谢

【讨论】:

但是有没有办法支持 2.1.x。还有吗? 没有。 Spring 2.1 版本不支持它。可能在未来。到那时你也可以使用 2.0.X 版本,它具有相同的功能......【参考方案2】:

这将通过在 yml 或属性文件中添加以下配置来解决。

    spring:
      main:
        allow-bean-definition-overriding: true

【讨论】:

以上是关于在 Spring Boot 中使用 netflix zuul 面临微服务问题的主要内容,如果未能解决你的问题,请参考以下文章

spring boot + netflix zuul app给java.lang.ClassNotFoundException:com.netflix.zuul.monitoring.CounterF

Spring Boot 微服务 com.netflix.zuul.exception.ZuulException:转发错误

如何使用 Netflix DGS graphql-dgs-extended-scalars JSON 标量(java/spring-boot,maven)?

Microservices Reference Architecture - with Spring Boot, Spring Cloud and Netflix OSS--转

Spring Boot 2、Cloud Netflix 和用户名/密码认证架构

spring boot 项目启动 com.netflix.hystrix.exception.HystrixRuntimeException:timed-out and fallback failed