配置中心 发表于 2019-11-25 | 分类于 微服务 字数统计: 376 配置中心 基于Git的配置中心在Spring Cloud中,配置中心是基于Git实现的。config-server是配置服务器,会将配置的相关操作以http的形式暴露出去。client是应用服务器,对于config-server来说,它是client。client在启动时会从config-server加载数据。 图1是较为简单的配置中心,这个配置中心有一个问题:client端的配置不能动态更新。因为client只会在启动时加载配置,后续如果修改了git中的内容,client中的内容不会变。如果期望client获取最新数据,需要按如下步骤: 使用git push修改配置; 手动调用client的/bus/refresh接口主动更新配置; client请求server获取配置; server请求git获取配置。 图2是改进版的配置中心,能够做到client端配置的动态更新。 使用git push修改配置; git服务器发现有push事件,于是调用server的/bus/refresh接口(这项功能需要依赖git hook); server将更新消息发送给MQ; client监听MQ,发现有更新消息; client请求server获取配置; server请求git获取配置。 基于Zookeeper的配置中心zookeeper可以理解为文件系统+监听机制,client监听zk上的节点,若节点数据发生变化,会通知client更新配置。 基于Http长轮询的配置中心client使用http长轮询连接上server,若配置有变化,可通过http形式推送至client。