我正在尝试将所有微服务通过端口8080(商店)路由到一条路由
我有一个连接到Eureka服务器(端口:8084)的微服务 articlemicroservice 。
我也有 zuulservice 连接到Eureka(在端口8888上运行)。
示例: http://localhost:8084/articles应该在http://localhost:8080/articles上可用
我试图在zuul服务器的application.yml中配置它,如下所示:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8888/eureka
server:
port: 8079
zuul:
routes:
articlemicroservice:
path: /*
serviceId: articlemicroservice
url: http://localhost:8080/
重要提示:商店(Port:8080)未连接到Eureka。
ArticleMicroService:
server.port=8084
spring.application.name=articlemicroservice
eureka.client.serviceUrl.defaultZone=http://localhost:8888/eureka/
eureka.client.fetchRegristry=true
eureka.instance.preferIpAddress=true
ShopMicroService:
server.port=8080
spring.application.name=shopmicroservice
编辑:带有yml的示例不起作用。
编辑:
Eureka服务器:
server.port=8888
spring.application.name=eurekaserver
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:8888/eureka/
eureka.instance.lease-expiration-duration-in-seconds:2
答案 0 :(得分:1)
我认为您需要在端口8080上使用一个GatewayApplication,该应用程序将代理对在其他任何端口下部署的其他应用程序的请求
配置zuul路由,例如:
zuul:
routes:
articlemicroservice:
path: /article/**
url: http://localhost:8084/
shopmicroservice:
path: /shop/**
url: http://localhost:8081/
很棒的例子:https://github.com/sqshq/piggymetrics
或者我认为您可以在ShopMicroService中使用@EnableZuulProxy
zuul:
routes:
articlemicroservice:
path: /article/**
url: http://localhost:8084/
我认为没有办法使ZUUL在8079上工作