问题 Zuul Edge Server可以在没有Eureka / Ribbon的情况下使用


我们有一个具有服务发现和负载平衡的基础设施(即服务器端具有STM和weblogic集群)。现在我们正在重构微服务。我们需要一个API网关,它可以对其他微服务进行基本路由。 Netflix Zuul看起来很不错,但是如果没有Eureka我就无法让Zuul工作 - 但我们不需要Eureka,因为我们已经有了服务发现和负载平衡。

  1. 是否可以在没有Eureka和Ribbon的情况下使用Zuul?
  2. 如果是,请提供一些公会行,因为在维基中没有提及。

谢谢。


7368
2017-12-02 06:42


起源



答案:


是的,这完全有可能。你必须使用 @EnableZuulProxy 在您的配置类上并配置如下:

zuul:
  routes:
    yourService:
      path: /yourService/**
      serviceId: yourService

ribbon:
  eureka:
    enabled: false

yourService:
  ribbon:
    listOfServers: localhost:8080

13
2017-12-02 12:16



你也可以 url 下 yourService。 - spencergibb
如果我是这样的话 不 使用spring-cloud? - Divs
所有这些变化都在Zuul配置中吗?我应该在微服务'yourService'中做出任何改变吗? - Govind Prabhu
这些都是zuul,是的。下游服务无需更改。此外,spring现在有自己的网关,如果你刚开始我建议检查出来: cloud.spring.io/spring-cloud-gateway - Ákos Ratku


答案:


是的,这完全有可能。你必须使用 @EnableZuulProxy 在您的配置类上并配置如下:

zuul:
  routes:
    yourService:
      path: /yourService/**
      serviceId: yourService

ribbon:
  eureka:
    enabled: false

yourService:
  ribbon:
    listOfServers: localhost:8080

13
2017-12-02 12:16



你也可以 url 下 yourService。 - spencergibb
如果我是这样的话 不 使用spring-cloud? - Divs
所有这些变化都在Zuul配置中吗?我应该在微服务'yourService'中做出任何改变吗? - Govind Prabhu
这些都是zuul,是的。下游服务无需更改。此外,spring现在有自己的网关,如果你刚开始我建议检查出来: cloud.spring.io/spring-cloud-gateway - Ákos Ratku


示例用法可以是这样的:

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/

2
2018-04-27 13:15