【发布时间】:2017-08-16 10:14:07
【问题描述】:
我正在尝试从 Eureka 转移到 Consul 以进行服务发现,但遇到了一个问题 - 我的网关服务注册和我的客户服务注册,但网关服务不会自动将请求路由到客户服务。我在网关控制器中专门定义的使用 Feign 客户端进行路由的路由工作正常,但在之前(使用 Eureka)我可以向任何路径发出请求,例如“/customer-service/blah”(其中 customer-service 是注册名称) 并且网关只会将请求转发到下游微服务。
这是我的网关 bootstrap.yml(它在引导程序中而不是应用程序中,因为我也在使用 consul 进行配置)
spring:
application:
name: gateway-api
cloud:
consul:
config:
watch:
wait-time: 30
discovery:
prefer-ip-address: true
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
【问题讨论】:
-
能否在 consul 中给出示例 application.yml 或应用程序配置?我使用 consul 和 zuul 进行路由。 zuul 用作网关服务。它工作正常。
-
consul 可以和 eureka 一样使用
-
原来我已经从类路径中删除了 Zuul。
标签: java spring-boot consul netflix-zuul service-discovery