Consul 简介

一、Consul 能做什么?

Consul包含很多组件,总体来数,Consul是一种服务发现和配置工具

1、服务发现:一个客户端提供自己的服务,例如api服务,或者mysql服务,另一个客户端就可以利用Consul通过DNS或者http来发现这些服务的提供者。

2、健康检查:Consul可以提供多种(script 、http、tcp、ttl)健康检查。结合服务发现。

3、K/V存储:动态配置、一致性协调、leader选举、特征标记等,Consul的HTTP的API使开发者更好的使用。

4、多数据中心:Consul创造性的提供了多数据中心机制。这就意味着使用者不必在创建多余的虚拟层来应用多个分区。 

Consul是分布式的(P),高可用系统(A)。每一个Consul服务提供节点,都运行着一个Consul代理,Consul代理并不意味着必须发现其它的服务,或者进行相应的数据操作,代理只需要对健康检查负责。代理连接一个或者多个Consul服务端,Consul服务端存储,复制数据,选取leaader。虽然Consul服务端可以单例运行,但是通常建议每个数据中心3到5个实例集群运行,以防数据丢失。

二、区别zookeeper: 

1、zookeeper 使用临时节点特性来用于服务发现(当服务断开时,临时节点删除)

这种服务发现机制比心跳检测更精致,复杂,但是同样也有一些固有的扩展性问题和增加客户端复杂性,所有的服务端都必须维持同zookeeper的活动连接。

2、Consul 的服务发现机制

Consul在集群的每一个节点都运行一个客户端,这些客户端就是 gossip pool(分布式健康检查 分布式健康检查)的一部分,gossip协议实现在服务宕机发现上很高效,无论服务集群中服务数多少,Consul可以通过简单的检查服务返回200状态来进行健康检查。

posted @ 2017-03-07 15:07  WindWant  阅读(1515)  评论(0编辑  收藏  举报
文章精选列表