搭建Config Server高可用集群
我们知道在微服务架构中有了Config Server配置中心之后就可以让我们从远程git仓库读取配置文件,以达到配置集中管理以及配合Spring Cloud Bus实现配置的自动刷新。
但是如果配置中心宕机或者出现其他故障,那将会是一个“噩耗”,可能导致所有的Config Client服务无法读取配置,甚至可能导致服务程序无法正常运行,这时候就需要我们搭建Config Server高可用集群。
下面我们在原来项目的基础上进行改造,来完成搭建包含多个Config Server的高可用集群,开发步骤如下。
① 通过IDEA工具的“Edit Configurations”的方式(或者在application-pro.yml中配置多个)添加一个端口号为7035的config-server服务节点,如下图所示。
② 修改服务config-client中的配置,因为Config Server有好几个,如果使用URI进行IP+Port或者Host+Port的方式维护可能不方便,所以我们改用discovery(服务发现)的方式连接Config Server,如程序清单14-15所示。
③ 测试运行。我们依次启动eureka-server、端口号分别为7030和7035的config-server服务以及config-client服务,服务注册情况如图所示。
然后我们模拟故障,关闭端口号为7030或者7035的任意一个config-server服务,将git配置文件中的mylog.version改为“V3.3.0”,并使用Postman发送更新接口“http://localhost:7031/actuator/bus-refresh”。再次访问时,发现配置刷新后依然可用,如图所示。
继续把另外一个config-server服务关闭,将git配置文件中的mylog.version改为“V3.4.0”,然后再次访问接口,发现还是原来的“V3.3.0”,说明配置没有更新,并且Postman访问报错,如图所示。
另外,config-client服务的控制台也出现了很多重试连接但最终连接失败的信息,如图所示。这就证明我们成功搭建了Config Server高可用集群。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)