生产环境中微服务的发布是非常频繁的,对于一些互联网型的项目,甚至在你与他人谈话闲聊的几分钟内便有新的版本发布出来;一般的,每发布一个新的微服务,网关就可能需要为新发布的微服务定义对应的访问路由,如果没有将网关的配置文件通过Spring Cloud Config配置中心抽离出来存放到Git仓库中,那么网关每次在配置文件中定义了新的访问路由,就必然需要重启才能让配置生效,而网关是整个微服务架构唯一对外的入口,启动网关服务会影响整个系统的稳定性和高可用性。
通过结合Spring Cloud Config配置中心,可以实现微服务网关的无重启刷新配置,当新增一个微服务后,网关为该微服务定义了对应的访问路由,就可以通过无重启刷新配置的方式让新定义的访问路由生效。
(1)创建Git配置仓库
将网关配置文件中关于自定义路由的配置抽离出来,存放到远端Git仓库中,如下图所示:
(2)集成配置中心
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<