SpringCloud为什么需要统一配置中心
1)不方便维护。
2) 配置内容安全与权限,在一个公司,线上的配置基本上不会对开发公开,特别是一些敏感信息,比如数据库账号密码等等。
3)更新配置项目需要重启。
SpringCloud统一配置中心架构简图
SpringCloudBus自动更新配置理论
config-server会从远端配置中心即远端git拉取一份配置存储在本地git仓库,product和order在启动时会从config-server读取配置,启动后再修改远端git上应用的配置信息,服务里面的配置是不变的,如何实现自动更新配置呢?
要实现自动服务更新配置信息,关键点在于配置中心config-server能通知到服务端order。如何通知呢?在springcloud微服务中是使用消息队列(RabbitMQ),config-server和order通过消息队列传递信息,config-server使用springcloud bus之后,会对外提供一个http接口/bus-refresh,访问这个接口之后,远端git配置信息更新消息就会发送到MQ中。