Spring Cloud之Finchley版学习(二十三)-Spring Cloud Config高可用

栏目: Java · 发布时间: 6年前

内容简介:前文构建的都是单节点的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:

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的高可用可借助一个负载均衡器来实现,如图所示。

Spring Cloud之Finchley版学习(二十三)-Spring Cloud Config高可用

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

Config Server注册到Eureka Server上

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

Spring Cloud之Finchley版学习(二十三)-Spring Cloud Config高可用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms + Data Structures = Programs

Algorithms + Data Structures = Programs

Niklaus Wirth / Prentice Hall / 1975-11-11 / GBP 84.95

It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominanc......一起来看看 《Algorithms + Data Structures = Programs》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具