如何在 Spring Cloud Zuul 中配置路由
How to config routes in Spring Cloud Zuul
在Spring Cloud Zuul 服务器中我们可以定义所有需要通过"application.properties"重定向的路由。
例如:
zuul.routes.resource.path=/api/**
zuul.routes.resource.url=http://api.com:9025
创建 fat jar 后,"application.properties" 将被封装到 jar 中,并且无法编辑和重新加载文件中的规则。
有没有在外部文件中通知Zuul路由,同时在不停止服务器的情况下重新加载它们?
您可以为此使用 spring 云配置。
Spring Cloud Config 为分布式系统中的外部化配置提供服务器端和客户端支持。使用配置服务器,您可以集中管理所有环境中应用程序的外部属性
http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_client
...晚会有点晚了,但是...
您可以使用 ConfigServer 做任何您想做的事情!
- 为所有应用程序通用的配置创建 application.yml
- 创建配置文件特定的应用程序-mycommonprofile.yml。同 1. 但对于 'mycommonprofile' 配置文件。
- 为每个特定于该应用程序的应用程序创建一个 appX.yml。
- 创建配置文件特定的 appX-myprofile.yml。同 3. 但对于 'myprofile' 配置文件。
所有这些文件都是可选的,不依赖于任何其他文件。例如,您可以有一个没有 application.yml 的应用程序-mycommonprofile.yml。
希望对您有所帮助!
另一个迟到的答案,但另一种方法是使用配置文件配置文件,它位于 fatjar 之外的文件系统中。
如果您的 Zuul 代理的配置名称是 'zuul' 而您的普通配置文件是 'zuul.properties' 或 'zuul.yaml',那么它会在 [=] 中查找特定于配置文件的配置文件19=] 或 'zuul-.yaml'。
如果您不指定配置文件,则名为 'default' 的配置文件处于活动状态。
因此您可以从外部文件名 'zuul-default.properties' 或 'zuul-default.yaml'(或 'zuul-default.yml',如果您使用 3 个字母的文件扩展名)加载属性。
当没有指定其他配置文件时,将加载它。
在Spring Cloud Zuul 服务器中我们可以定义所有需要通过"application.properties"重定向的路由。
例如:
zuul.routes.resource.path=/api/**
zuul.routes.resource.url=http://api.com:9025
创建 fat jar 后,"application.properties" 将被封装到 jar 中,并且无法编辑和重新加载文件中的规则。
有没有在外部文件中通知Zuul路由,同时在不停止服务器的情况下重新加载它们?
您可以为此使用 spring 云配置。
Spring Cloud Config 为分布式系统中的外部化配置提供服务器端和客户端支持。使用配置服务器,您可以集中管理所有环境中应用程序的外部属性
http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html#_spring_cloud_config_client
...晚会有点晚了,但是...
您可以使用 ConfigServer 做任何您想做的事情!
- 为所有应用程序通用的配置创建 application.yml
- 创建配置文件特定的应用程序-mycommonprofile.yml。同 1. 但对于 'mycommonprofile' 配置文件。
- 为每个特定于该应用程序的应用程序创建一个 appX.yml。
- 创建配置文件特定的 appX-myprofile.yml。同 3. 但对于 'myprofile' 配置文件。
所有这些文件都是可选的,不依赖于任何其他文件。例如,您可以有一个没有 application.yml 的应用程序-mycommonprofile.yml。
希望对您有所帮助!
另一个迟到的答案,但另一种方法是使用配置文件配置文件,它位于 fatjar 之外的文件系统中。
如果您的 Zuul 代理的配置名称是 'zuul' 而您的普通配置文件是 'zuul.properties' 或 'zuul.yaml',那么它会在 [=] 中查找特定于配置文件的配置文件19=] 或 'zuul-.yaml'。 如果您不指定配置文件,则名为 'default' 的配置文件处于活动状态。
因此您可以从外部文件名 'zuul-default.properties' 或 'zuul-default.yaml'(或 'zuul-default.yml',如果您使用 3 个字母的文件扩展名)加载属性。 当没有指定其他配置文件时,将加载它。