Spring Cloud系列教程 | 第十篇:Spring Cloud Config Server和Spring Cloud Bus以及Kafka和数据库动态刷新配置

本文介绍了如何使用Spring Cloud Config Server、Spring Cloud Bus以及Kafka实现配置的动态刷新。讲解了配置服务器、客户端的配置步骤,并通过更换注册服务器IP地址展示了动态更新配置的过程,强调了在微服务架构中动态配置的重要性。
摘要由CSDN通过智能技术生成
推荐 Spring Cloud 视频:
Spring Cloud Config Server和Spring Cloud Bus以及Kafka和数据库动态刷新配置

    Spring cloud config server如果不结合Spring cloud bus,那么就无法实现动态更新,只能重启服务才能生效新的配置,比如我们的注册服务器(Eureka)是整个Spring cloud系统中的单点风险,在正常运营过程中或测试环境切换到正式环境时,我们准备了两套注册服务器,希望在这两者之间不停机进行动态切换。

Spring cloud bus支持RabbitMQ和Kafka两种方式,RabbitMQ安装需要先安装erlang,linux和windows下erlang安装方式不一样,linux下需要源码编译,如果缺失组件需要升级,会折腾半天,而Kafka直接下载压缩包用Java命令启动即可,且支持事务性消息,其日志方式的机制更灵活强大,可以根据CAP定理在高可用性和高一致性灵活选择,当然用在配置更新方面是可用性重要还是一致性重要,这与注册服务器考量原则是一样的,服务注册一定是注重高可用性,而不是高一致性,如果这个问题不考虑清楚,设计再强大的分布式注册框架也是走错方向。配置更新方面使用异步总线其实已经是一种最终一致性,但是这种最终一致性也不能不一致时间太长,否则影响功能正常运行,比如1000个服务中已经有800个服务改变到新的注册服务器配置,而其他200个还没有,在这种情况下,两者之间存在相互找不到对方,网络存在分区了,业务上是否容许?当然Kafka会将这种不一致延迟降低到最低。

废话少说,Spring cloud配置服务器和其客户端之间通讯如果系统通过Spring cloud bus很简单,只要在pom.xml增加:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值