【发布时间】:2016-06-05 21:30:44
【问题描述】:
在 Spring Cloud Zuul 服务器中,我们可以定义所有需要通过“application.properties”重定向的路由。
例如:
zuul.routes.resource.path=/api/**
zuul.routes.resource.url=http://api.com:9025
一旦创建了fat jar,“application.properties”就会被封装到jar中,并且无法在文件中编辑和重新加载规则。
有没有在外部文件中告知 Zuul 路由,同时在不停止服务器的情况下重新加载它们?
【问题讨论】:
-
寻找解决方案一段时间后,我发现我可以在配置服务器中为zuul应用程序创建一个应用程序属性,例如zuul。属性并在那里设置所有路线。重要的是要提到 bootstrap.properties 中的配置客户端名称必须与配置服务器中的应用程序属性名称相同。
-
我们可以从数据库中加载
zuul.routes.resource.url值吗? -
是的,我们可以.. 但这很复杂。这种模式称为服务发现。服务发现使您能够在不停止网关服务器的情况下更改服务(以及其他好处)。 Spring 支持 Eureka、Consul 或 Zookeper 进行服务发现。
标签: java spring spring-boot reload netflix-zuul