没有Eureka/Ribbon可以使用Zuul Edge Server吗
Can Zuul Edge Server be used without Eureka / Ribbon
我们有一个具有服务发现和负载平衡的基础设施(即具有 STM 和 weblogic 集群的服务器端)。现在我们正在重构为微服务。我们需要一个 API 网关来对其他微服务进行基本路由。 Netflix Zuul 看起来是个不错的选择,但是如果没有 Eureka,我无法让 Zuul 工作——但我们不需要 Eureka,因为我们已经有了服务发现和负载平衡。
- 没有Eureka和Ribbon可以使用Zuul吗?
- 如果是,请提供一些公会行,因为在 wiki 中没有提及。
谢谢。
是的,完全 possible.You 必须在您的配置 class 上使用 @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/
是的,当然可以。实际上,默认情况下,如果您使用 @EnableZuulProxy 和 Spring 引导执行器,您会启用两个额外的端点:
- 路线
- 过滤器
application.yaml
zuul:
routes:
users:
path: /myusers/**
url: https://example.com/users_service
这些简单的 url 路由不会作为 HystrixCommand 执行,也不会使用 Ribbon[=28 负载平衡多个 URL =].
你可以从here获得更多信息。
我们有一个具有服务发现和负载平衡的基础设施(即具有 STM 和 weblogic 集群的服务器端)。现在我们正在重构为微服务。我们需要一个 API 网关来对其他微服务进行基本路由。 Netflix Zuul 看起来是个不错的选择,但是如果没有 Eureka,我无法让 Zuul 工作——但我们不需要 Eureka,因为我们已经有了服务发现和负载平衡。
- 没有Eureka和Ribbon可以使用Zuul吗?
- 如果是,请提供一些公会行,因为在 wiki 中没有提及。
谢谢。
是的,完全 possible.You 必须在您的配置 class 上使用 @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/
是的,当然可以。实际上,默认情况下,如果您使用 @EnableZuulProxy 和 Spring 引导执行器,您会启用两个额外的端点:
- 路线
- 过滤器
application.yaml
zuul:
routes:
users:
path: /myusers/**
url: https://example.com/users_service
这些简单的 url 路由不会作为 HystrixCommand 执行,也不会使用 Ribbon[=28 负载平衡多个 URL =].
你可以从here获得更多信息。