SpringCloud Config配置中心的高可用的简单案例

一、cloud-config配置


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

4、现在把8082这台给宕机掉。相当于这台的配置中心已经宕机了
在这里插入图片描述
5、接下来再重新启动CloudProviderApplication:可以看到这时走8083这台配置中心了
在这里插入图片描述
6、现在把8083这台配置中心的服务也宕机
在这里插入图片描述
7、重新启动下MicroProviderApplication:这时就会从8081上去拉取数据了
在这里插入图片描述

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

二、git上的相关配置


1、当我们改变下git上的配置信息下
比如在git上面中的provider-dev.yml里面的内容需要改下:这里变为release:发布的版本的话,服务名称也换成其他的话。
加粗样式2、重新启动下8081的配置中心的服务:然后去刷新浏览器访问下git上的信息
在这里插入图片描述
在这里插入图片描述
发现访问下也信息也变了。因为本来这里就是从git上读取的。

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

3、重启下MicroProviderApplication,然后刷新浏览器再次请求
在这里插入图片描述

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值