我们有一个具备服务发现和负载平衡功能的基础架构(即带有STM和weblogic集群的服务器端)。现在我们正在重构为微服务。我们需要一个API网关,它可以对其他微服务进行基本路由。Netflix Zuul看起来是一个不错的选择,但是我无法在没有Eureka的情况下让Zuul工作 - 但我们不需要Eureka,因为我们已经有了服务发现和负载平衡。
- 是否可以在没有Eureka和Ribbon的情况下使用Zuul?
- 如果是,请提供一些指南,因为维基百科上没有提到这个问题。
谢谢。
我们有一个具备服务发现和负载平衡功能的基础架构(即带有STM和weblogic集群的服务器端)。现在我们正在重构为微服务。我们需要一个API网关,它可以对其他微服务进行基本路由。Netflix Zuul看起来是一个不错的选择,但是我无法在没有Eureka的情况下让Zuul工作 - 但我们不需要Eureka,因为我们已经有了服务发现和负载平衡。
谢谢。
是的,这完全可行。您需要在配置类上使用@EnableZuulProxy
,并进行以下配置:
是的,它是完全可能的。您需要在配置类上使用@EnableZuulProxy
,并进行以下配置:
zuul:
routes:
yourService:
path: /yourService/**
serviceId: yourService
ribbon:
eureka:
enabled: false
yourService:
ribbon:
listOfServers: localhost:8080
示例使用方式如下:
shared.microservice.customer.service1.url=zttp://127.0.0.1:8080/shared/microservice/customer/
shared.microservice.customer.service2.url=zttp://127.0.0.1:8181/shared/microservice/customer/
ribbon.eureka.enabled = false
zuul.routes.customer-micro-service.path: /shared/microservice/customer/**
zuul.routes.customer-micro-service.serviceId: customers
customers.ribbon.listOfServers =
zttp://ip:port1/shared/microservice/customer/,zttp://ip2:port2/shared/microservice/customer/
application.yaml
zuul:
routes:
users:
path: /myusers/**
url: https://example.com/users_service
url
放在yourService
下面。 - spencergibb