Spring-BootSpringBoot极简教程 · Spring Boot

跟我学Spring Cloud(Finchley版)-23-Sp

2019-03-14  本文已影响24人  周立_itmuch

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

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

Git仓库的高可用

由于配置内容存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的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所示。

Config Server高可用架构图

本文首发

http://www.itmuch.com/spring-cloud/finchley-23/

干货分享

全是干货!
上一篇 下一篇

猜你喜欢

热点阅读