内容简介:前文构建的都是单节点的Config Server,本节来讨论如何构建高可用的Config Server集群,包括Config Server的高可用依赖Git仓库的高可用以及RabbitMQ的高可用。先来讨论Git仓库的高可用。由于配置内容存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。
前文构建的都是单节点的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:
- 高可用 GitLab 复杂度分析: https://about.gitlab.com/high-availability/
- 高可用GitLab搭建文档: https://docs.gitlab.com/ce/administration/high_availability/README.html
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的高可用可借助一个负载均衡器来实现,如图所示。
如图,各个微服务将请求发送到负载均衡器,负载均衡器将请求转发到其代理的其中一个Config Server节点。这样,就可以实现Config Server的高可用。
Config Server注册到Eureka Server上
这种情况下,Config Server的高可用相对简单,只须将多个Config Server节点注册到Eureka Server上,即可实现Config Server的高可用。架构如图所示。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 学习 HDFS(四):高可用
- 深入学习Redis高可用架构
- 《统计学习方法》的Python 3.6复现,实测可用
- 学习笔记:微服务-16 nginx+keepalived +zuul 实现高可用及负载均衡
- 把机器学习自动化,AutoML 要做出人人可用的人工智能〡IF19
- 构建生产环境可用的高可用kubernetes集群
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。