首页 > 网络 > 云计算 > 正文
【Consul】多数据中心
2016-09-26       个评论      
收藏    我要投稿

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 ...

...

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】Consul架构-Gossip协议
下一篇:使用Postman开发BlockchainNetwork之Chaincode(智能合约)
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站