Spring 启动 Zuul:映射多个路由 URL

Spring Boot Zuul : Map Multiple Route URLs

我们正在使用 Spring Boot with Zuul Proxy 将 API 请求转发给 APIs。示例配置如下:

zuul.routes.common.url=http://10.0.0.1:8081/common
zuul.routes.meta.url=http://10.0.0.2:8082/meta

这一切都很好。为了平衡我们的负载并有效地利用底层服务器,我们希望在配置中指定多个 URL,并为其中一个 URL 启用请求转发。准确地说,我们希望通过提供可以处理请求的以逗号分隔的端点列表来配置代理配置,如下所示。

zuul.routes.common.url=http://10.0.0.1:8081/common,http://10.0.0.11:8081/common
zuul.routes.meta.url=http://10.0.0.2:8082/meta,http://10.0.0.12:8082/meta

但不幸的是,这样的配置导致 "Resource not found Error"。

问题:

  1. 这是一种可能的配置吗?
  2. 如果不能,是否可以通过其他方式实现?

此致, 曼朱纳特

编辑:回答

仅使用 Zuul 无法配置多个 URL。请求需要使用功能区进行负载平衡。这是带有功能区的示例配置:

zuul.routes.common.path=/**
zuul.routes.common.serviceId=common
common.ribbon.listOfServers=http://10.0.0.1:8081/common,http://10.0.0.2:8081/common

您想使用 Ribbon,并且 属性 client.ribbon.listOfServers。这是一个简单的例子

zuul:
  routes:
    users:
      path: /myusers/**
      serviceId: users

ribbon:
  eureka:
    enabled: false

users:
  ribbon:
    listOfServers: example.com,google.com