原文链接:https://www.consul.io/intro/vs/index.html
Consul vs. 其它软件
Consul能解决的问题是多种多样的,但是每个独立的特性都已经被很多不同的系统解决了。尽管没有一个单独的系统能够同时提供Consul的所有特性,但有其它可用的选项能够解决其中的一些问题。
在这部分中,我们把Consul与其它一些选项做对比。在大部分情况下,Consul不会与任何其它系统互斥。
Consul vs. ZooKeeper, doozerd, etcd
ZooKeeper、doozerd以及etcd的结构很相似。它们都有服务节点,需要有足够数目的节点才能运行(通常是简单多数)。它们是强一致性的,并且提供了丰富的原语,可以通过应用中的客户端库去构建复杂的分布式系统。
Consul同样使用拥有一个单独数据中心的服务器节点。在每个数据中心中,Consul服务器需要有足够数量的节点才能运行和提供强一致性。不过,Consul对多个数据中心以及能连接服务器节点和客户端的包含更多功能的Gossip系统,提供原生支持。
所有这些系统在提供键值存储时都有大致相同的语义:读是强一致性的,在面对网络分区时,可用性为一致性做出了牺牲。然而,当这些系统用于高级案例中,这些差异变得更加显著。
这些系统提供的语义对构建服务发现系统来说是有吸引力的,但是强调这些功能必须被构建是很重要的。ZooKeeper等提供的仅是一个原始的键值存储而且