Consul的一个关键特性是支持多数据中心。consul架构中提到是构建低耦合的多个数据中心,一个数据中心的网络连接问题或故障不在其他数据中心的可用性。每个数据中心都是独立运行,并且拥有私有的LAN
gossip pool。

参照consul部署,部署两个数据中dc1和dc2。数据中心的名字对consul而言是不透明的,它们只是用于管理员与consul交互使用。

通过consulmembers –wan命令可以查询WAN中的节点:

$ consul members-wan
...

输出结果是WAN gossip pool中的节点列表,只包含server节点。 client节点只会想本地数据中的server节点发送请求,不会加入WAN Gossip Pool。Client请求会通过本地数据中的Server节点转发到目标数据中心。

下一步是保证所有的Server节点均加入到WAN gossip Pool。

$ consul join -wan<server 1> <server 2> ...
...

join命令加上-wan参数,是讲Server加入到WAN gossip pool。而LAN gossip pool,只需要加入到现有的某个Server节点即可,和通过gossip协议与其他成员交换信息即可知道所有的成员节点。然而,对于启动的consul的Server,只知道自己的信息,必须添加到群集中。

一旦加入完成,基于WAN通过gossip协议就可以使用members命令查询所有的Server节点。

我们也可以通过HTTP API来查询所有的数据中心:

$ curlhttp://localhost:8500/v1/catalog/datacenters
["dc1", "dc2"]

做一个简单的测试,查询某个数据中心的所有节点:

$ curlhttp://localhost:8500/v1/catalog/nodes?dc=dc1
...
$ curlhttp://localhost:8500/v1/catalog/nodes?dc=dc2
...

构建多数据中心,网络需要满足如下要求:1.所有的Server节点都是互通,否则,基于gossip协议的RPC转发将无法工作。如果服务发现是可以跨数据中心,网络必须能够跨区域之间的路由的IP地址以及。2.如果使用服务发现,那么所有的数据中心都是互通的,或者基于VPN或其他隧道机制是互通的。Consul不能处理VPN、address rewritting,或者NAT
traversal。

【Consul】多数据中心的更多相关文章

  1. Docker + Consul 多数据中心模拟

    Docker + Consul 多数据中心模拟 1. dc1搭建 docker run -d --name node1 -h node1 progrium/consul -server -bootst ...

  2. 基于 Docker 搭建 Consul 多数据中心集群

    本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...

  3. Consul 多数据中心下的服务注册发现与配置共享

    1. Consul简介   Consul是HashiCorp公司推出的开源软件,它提供了一套分布式高可用可横向扩展的解决方案,能为微服务提供服务治理.健康检查.配置共享等能力.   Eurake2.x ...

  4. consul多数据中心搭建 【h】

    自建IDC后面简称own.阿里云机房ali.腾讯云机房txown机房:内网10.10.10.0/24,边界节点,10.10.10.100/101.xxx.80.xxxali机房:内网10.10.10. ...

  5. consul异地多数据中心以及集群部署方案

    consul异地多数据中心以及集群部署方案目的实现consul 异地多数据中心环境部署,使得一个数据中心的服务可以从另一个数据中心的consul获取已注册的服务地址 环境准备两台 linux服务器,外 ...

  6. Spring Cloud 微服务一:Consul注册中心

    Consul介绍 Consul is a service mesh solution providing a full featured control plane with service disc ...

  7. Consul 注册中心介绍

    在 Spring Cloud 体系中,几乎每个角色都会有两个以上的产品提供选择,比如在注册中心有:Eureka.Consul.zookeeper.etcd 等:网关的产品有 Zuul.Spring C ...

  8. 微服务系列之 Consul 注册中心

    原文链接:https://mrhelloworld.com/posts/spring/spring-cloud/consul-service-registry/ Netflix Eureka 2.X ...

  9. SOFARPC模式下的Consul注册中心

    Consul大家不陌生,就是和Zookeeper.Nacos一伙的,能够作为微服务基础架构的注册中心,算是比较成熟的组件,和Springcloud集成顺滑, 考虑到Eureka已经停止更新,所以有必要 ...

随机推荐

  1. C++学习之【使用位操作符求素数分析】

    先放普通代码: #include <iostream> using namespace std; void getPrime_1() { const int MAXN = 100; boo ...

  2. winform 实现彩票功能

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/MrTraum/article/details/32702319 watermark/2/text/a ...

  3. Photoshop 画布的渐变填充

    之前丢掉的要开始慢慢的捡起来,因为学如逆水行舟,不进则退.古人诚不欺我等. 1.新建图层,或者就在当前图层进行操作,选择图层 2.工具箱---1渐变工具---2径向渐变---模式--正常.不透明100 ...

  4. VS中添加预处理宏的方法

    VS中添加预处理宏的方法 除了在.c及.h中添加宏定义之外,还可以采用如下方法添加宏定义: 1.若只需要定义一个宏(如#define DEBUG),可以右键点击工程-->属性-->c/c+ ...

  5. 创建git项目的feature分支以及下载特定分支的仓库代码

    在掌握了基础git的使用后可以按照这个步骤来: 下载项目:git clone <仓库地址>如果要下载非master的某分支代码:git clone -b <分支名> <仓 ...

  6. 手机验证码免费10条\java、C#、html....

    使用互亿无线短信接口网址:http://www.ihuyi.com/. 首先第一步,进行注册 第二步:注册成功后进来的页面 第三步:实名认证 第四步:个人信息 等待认证成功后才能继续操作 第五步:进行 ...

  7. viewport原理和使用和设置移动端自适应的方法(移动适应电脑)

    viewport原理和使用和设置移动端自适应的方法 HTML中: <meta name="viewport" content="width=device-width ...

  8. 【洛谷P2831】[NOIP2016]愤怒的小鸟

    愤怒的小鸟 题目链接 本来是刷状压DP的,然而不会.. 搜索是比较好想的,直接dfs就行了 我们可以知道两只猪确定一条抛物线 依次处理每一只猪,有以下几种方法: 1.先看已经建立的抛物线是否能打到这只 ...

  9. (转)超级实用且不花哨的js代码大全

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  10. Spring ApplicationListener配合-D实现参数初始化

    ApplicationListener是SpringBoot的监听器,提供了四种事件: ApplicationStartedEvent :spring boot启动开始时执行的事件 Applicati ...