0

我有一个如下所示的 url 路径:

/{identifier}/rest/of/resource/path

如果identifier是,A那么请求应该转到service_I。如果identifier是,B那么请求也应该转到service_I。如果identifierC,那么请求应该转到service_II,依此类推。

稍后将一个新的identifiers MN添加到系统中,它们的请求应该被路由到service_IV.

是否可以动态配置 Spring Cloud zuul 代理来执行上述任务?

编辑

提供的这个问题包含检查问题的不同方法。

其中 Zuul 具有以下配置:

zuul:
  routes:
    <service_id>:
      path: /path/**

Zuul 将与 Eureka 合作查找service-id并返回主机参数,以便可以访问该服务。如果不是/path我们有/{userID}并且userID实例分布在多个service_id主机上怎么办?

Zuul/DiscoveryClient 可以查询 Eureka 的 theservice_id和 theuserID以确定哪个主机托管特定的主机userID吗?

4

1 回答 1

1

您需要编写一个自定义ZuulFilter来完成此操作。查看PreDecorationFilter以获得一些提示,因为这是负责处理/path路径所在位置的过滤器service-id(除其他外)。

于 2017-02-28T05:31:22.047 回答