重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前文构建的都是单节点的Config Server,本节来讨论如何构建高可用的Config Server集群,包括Config Server的高可用依赖Git仓库的高可用以及RabbitMQ的高可用。
创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站设计、成都网站建设、成都app软件开发、成都小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。
先来讨论Git仓库的高可用。
由于配置内容存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。
以 GitLab 为例,读者可参照官方文档搭建高可用的 GitLab:
Spring Cloud Config使用Spring Cloud Bus实现配置批量刷新。而由于Spring Cloud Bus依赖RabbitMQ(当然也可使用其他MQ,例如Kafka或者RocketMQ),所以RabbitMQ的高可用也是必不可少的。
搭建高可用RabbitMQ的资料,读者可详见:
本节来讨论如何实现Config Server自身的高可用。笔者分两种场景进行讨论。
对于这种情况,Config Server的高可用可借助一个负载均衡器来实现,如图9-6所示。
如图9-6,各个微服务将请求发送到负载均衡器,负载均衡器将请求转发到其代理的其中一个Config Server节点。这样,就可以实现Config Server的高可用。
这种情况下,Config Server的高可用相对简单,只须将多个Config Server节点注册到Eureka Server上,即可实现Config Server的高可用。架构如图9-7所示。