- 微服务重复配置过多,维护成本高
- 业务配置经常变动,每次修改都要重启服务
- 网关路由配置写死,如果变更要重启网关
配置共享
添加一些共享配置到Nacos中,包括:Jdbc、MybatisPlus、日志、Swagger、OpenFeign等配置
基于NacosConfig拉取共享配置代替微服务的本地配置。
基于NacosConfig拉取共享配置代替微服务的本地配置。
配置热更新
配置热更新:当修改配置文件中的配置时,微服务无需重启即可使配置生效。
前提条件:
nacos中要有一个与微服务名有关的配置文件。
微服务中要以特定方式读取需要热更新的配置属性
动态路由
要实现动态路由首先要将路由配置保存到Nacos,当Nacos中的路由配置变更时,推送最新配置到网关,实时更新网关中的路由信息。
我们需要完成两件事情:
监听Nacos配置变更的消息
当配置变更时,将最新的路由信息更新到网关路由表
监听到路由信息后,可以利用RouteDefinitionWriter来更新路由表:
为了方便解析从Nacos读取到的路由配置,推荐使用json格式的路由配置,模板如下: