跟我学Spring Cloud(Finchley版)-23-Spring Cloud Config高可用

前文构建的都是单节点的Config Server,本节来讨论如何构建高可用的Config Server集群,包括Config Server的高可用依赖Git仓库的高可用以及RabbitMQ的高可用。

先来讨论Git仓库的高可用。

Git仓库的高可用

由于配置内容存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。

  • 使用第三方Git仓库:这种方式非常简单,可使用例如GitHub、BitBucket、Gitee、Coding等提供的仓库托管服务,这些服务本身就已实现了高可用。
  • 自建Git仓库管理系统:使用第三方服务的方式虽然省去了很多烦恼,但是很多场景下,倾向于自建Git仓库管理系统。此时就需要保证自建Git的高可用。

以 GitLab 为例,读者可参照官方文档搭建高可用的 GitLab:

RabbitMQ的高可用

Spring Cloud Config使用Spring Cloud Bus实现配置批量刷新。而由于Spring Cloud Bus依赖RabbitMQ(当然也可使用其他MQ,例如Kafka或者RocketMQ),所以RabbitMQ的高可用也是必不可少的。

搭建高可用RabbitMQ的资料,读者可详见:https://www.rabbitmq.com/ha.html。由于比较简单,笔者不做赘述。当然,也可使用云平台的提供的RabbitMQ服务。

Config Server自身的高可用

本节来讨论如何实现Config Server自身的高可用。笔者分两种场景进行讨论。

Config Server未注册到Eureka Server上

对于这种情况,Config Server的高可用可借助一个负载均衡器来实现,如图9-6所示。

Config Server高可用架构图

如图9-6,各个微服务将请求发送到负载均衡器,负载均衡器将请求转发到其代理的其中一个Config Server节点。这样,就可以实现Config Server的高可用。

Config Server注册到Eureka Server上

这种情况下,Config Server的高可用相对简单,只须将多个Config Server节点注册到Eureka Server上,即可实现Config Server的高可用。架构如图9-7所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值