一、cloud-config配置


1、启动三台cloud-config三台这样的服务:端口号分别设置为8081,8082,8083
SpringCloud Config配置中心的高可用的简单案例
2、现在把三台cloud-config三台一起部署
SpringCloud Config配置中心的高可用的简单案例
3、重启下CloudProviderApplication的客户端
SpringCloud Config配置中心的高可用的简单案例
可以看到控制台上有它发现了多个服务的Url地址的链表,最终选择了8082这台配置中心来拉去我们的配置。

4、现在把8082这台给宕机掉。相当于这台的配置中心已经宕机了
SpringCloud Config配置中心的高可用的简单案例
5、接下来再重新启动CloudProviderApplication:可以看到这时走8083这台配置中心了
SpringCloud Config配置中心的高可用的简单案例
6、现在把8083这台配置中心的服务也宕机
SpringCloud Config配置中心的高可用的简单案例
7、重新启动下MicroProviderApplication:这时就会从8081上去拉取数据了
SpringCloud Config配置中心的高可用的简单案例

总结:这就是它的高可用。我们不需要去配置的高可用就已经实现了。只要服务名称一样就可以了。我们在做项目的时候为了保证配置中心的高可用,会选用三台以上的配置中心,其实在做高可用的时候加一个zookeeper到时候就可以高可用了。本来zookeeper里面就有高可用的配置。

二、git上的相关配置


1、当我们改变下git上的配置信息下
比如在git上面中的provider-dev.yml里面的内容需要改下:这里变为release:发布的版本的话,服务名称也换成其他的话。
SpringCloud Config配置中心的高可用的简单案例2、重新启动下8081的配置中心的服务:然后去刷新浏览器访问下git上的信息
SpringCloud Config配置中心的高可用的简单案例
SpringCloud Config配置中心的高可用的简单案例
发现访问下也信息也变了。因为本来这里就是从git上读取的。

当远程有一个信息更新了,一刷新的话就会有跟新的事件,本地的临时的文件和远程的git上的文件进行对比如果发现不同的话那么它就会进行更新,这是它自己做的事件触发。

3、重启下MicroProviderApplication,然后刷新浏览器再次请求
SpringCloud Config配置中心的高可用的简单案例

总结:上面是重启了配置中心的客户端,访问配置中心的配置信息才会变得,如果不重启MicroProviderApplication的话,信息不会发生变化的,那么如何去做到在服务器不重启的情况下,去更新客户端的配置读取呢?这就是重点的一个问题:因为:MicroProviderApplication客户端实际读取的是本地中的git文件的信息,并不是远程的git上面的信息。所以说我们需要做到当远程的git文件里的信息更新以后,我们需要通过cloud的bus来发送一条指令去刷新本地的缓存。如果说每次都是从远程的git上面去读信息的话,那么config该怎么玩,所以说是拉取到本地的。在SpringCloud当中使用Bus+RabbitMQ在不重启项目情况下实现刷新配置。

下次会分享SpringCloud当中使用Bus+RabbitMQ

欢迎各位小伙伴来评价,想要工程代码的加群:797853299

相关文章:

  • 2022-12-23
  • 2021-06-16
  • 2021-09-26
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2021-10-29
  • 2021-06-14
猜你喜欢
  • 2021-10-07
  • 2022-12-23
  • 2021-04-27
  • 2021-05-09
  • 2021-04-18
  • 2021-08-19
  • 2022-12-23
相关资源
相似解决方案