当前位置: 首页 > 知识库问答 >
问题:

在运行时动态配置Zuul代理?

仇航
2023-03-14

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

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

如果标识符A,则请求应转到service_I。如果标识符B,则请求也应转到service_I。如果标识符C,则请求应转到service_II,依此类推。

稍后,新的< code >标识符 M和< code>N被添加到系统中,并且它们的请求应该被路由到< code>service_IV。

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

这个问题包含了一种不同的方法来检验这个问题。

其中,Zuul具有以下配置:

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

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

Zuul/discovery client能否向Eureka查询< code>service_id和< code>userID以确定哪个主机托管特定的< code>userID?

共有1个答案

柳刚豪
2023-03-14

您需要编写一个自定义的< code>ZuulFilter来完成这个任务。看一下PreDecorationFilter以获得一些提示,因为这是负责处理< code>/path的过滤器,其中路径是< code>service-id(以及其他内容)。

 类似资料:
  • 问题内容: 我有一种需要动态更改控制器的情况,以便相应地影响范围变量。总体结构: 我在这里看到它可以在一个。可以在外面做吗?换句话说,我可以告诉angular将其读取为变量而不是字符串文字吗? 问题答案: 正如评论中所讨论的那样,具有用于处理这些情况的强大 功能/库 - (具有强大的 Wiki ) 。 这是需要开发功能块- 状态 的答案,而不是在视图/ URL中进行思考 (从首页引用) : Ang

  • 为什么有运行时配置? 我们通过 .umirc.js 做编译时的配置,这能覆盖大量场景,但有一些却是编译时很难触及的。 比如: 在出错时显示个 message 提示用户 在加载和路由切换时显示个 loading 页面载入完成时请求后端,根据响应动态修改路由 这些在编译时就很难处理,或者不能处理了。 配置方式 umi 约定 src 目录下的 app.js 为运行时的配置文件。 + src - ap

  • 运行时配置和配置的区别是他跑在浏览器端,基于此,我们可以在这里写函数、import 浏览器端依赖等等,注意不要引入 node 依赖。 配置方式 约定 src/app.js 为运行时配置。运行时配置的类型有三种,具体查看applypluginstype。 配置项 beforeRender beforeRender(lastOpts) 在渲染之前执行,执行action过程中显示 loading 配置的

  • 问题内容: 我有hibernate.cfg.xml文件。 ..................... 这是文件中最有趣的部分。现在,我必须设置缺少的值:URL,用户名,密码。我正在尝试以这种方式: 但这只是从hibernate.cfg.xm加载我的配置,并且不更改任何属性… url,用户名,密码-是命令行参数,因此我必须在运行时设置它们。 问题答案: 尝试在这里打电话。 并且属性可能需要具有hib

  • 您可以通过proxy.auth.*设置控制@EnableZuulProxy下游的授权行为。例:application.yml proxy: auth: routes: customers: oauth2 stores: passthru recommendations: none 在此示例中,“客户”服务获取OAuth2令牌中继,“存储”服务获取传递(授权头只是通过下游)

  • 运行时配置概述。 { "symlink_root": "...", "subdirectory": "...", "override_subdirectory": "..." } symlink_root (required, string) 当前的实现是假定文件系统目录是通过符号链接方式进行访问。在切换到新文件目录时,应该使用原子链接交换。此参数是指定链接符号的路径。Envoy将观