Zuul无法从Eureka获取微服务实例列表。

3
我正在尝试使用以下Zuul自动配置(Spring Boot)配置Zuul和Eureka:

我正在尝试使用以下Zuul自动配置(Spring Boot)配置Zuul和Eureka:

zuul.ignoredServices: '*'
zuul.routes.service1.path: /test/**
zuul.routes.service1.serviceId: CUSTOMER-SERVICE
zuul.routes.service1.stripPrefix: false
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
eureka.instance.non-secure-port-enabled=true
server.port=9090

但是,通过Zuul调用客户服务时,会遇到以下异常:
com.netflix.client.ClientException: Load balancer does not have available server for client: CUSTOMER-SERVICE

我使用Web控制台检查了Eureka的客户服务,发现CUSTOMER-SERVICE的一个实例已经正确注册。

可以有人帮我知道出了什么问题吗?


你是如何发起请求的? - raiyan
我正在使用网页浏览器(http://localhost:9090/test)向ZUUL代理发送http请求。在ZUUL端,除了上面列出的自动配置之外,我没有添加任何东西。它似乎会向Eureka查询列出的服务,但没有得到正确的响应。请查看以下控制台日志。--- [nio-9090-exec-4] c.netflix.loadbalancer.BaseLoadBalancer : 客户端:CUSTOMER-SERVICE 实例化了一个负载均衡器:DynamicServerListLoadBalancer:{NFLoadBalancer:name=CUSTOMER-SERVICE,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []} ServerList:null - Manish Kumar
1个回答

0

我注意到这是由于 zuul.routes.service1.stripPrefix: false 移除此属性后,应用程序开始按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接