ZooKeeper 是一个用于数据中心的高可用性协调服务。它起源于Hadoop项目。在其之上,可以实现锁定、故障切换、领导者选举、组成员资格和其他协调问题。 是否有ZooKeeper的替代方案?(当然是免费软件)
ZooKeeper 是一个用于数据中心的高可用性协调服务。它起源于Hadoop项目。在其之上,可以实现锁定、故障切换、领导者选举、组成员资格和其他协调问题。 是否有ZooKeeper的替代方案?(当然是免费软件)
刚刚发现了 Accord (使用C语言) 和 OpenReplica/ConCoord (使用Python),它们可能是有趣的解决方案。
[编辑] Hashicorp小组,Vagrant和Packer的作者,正在推出一个名为Serf的 "面向服务的去中心化解决方案"。
[编辑2] Hashicorp再次惊艳亮相!他们刚刚发布了Consul,建立在Serf之上。其宣传口号是:"一个完全分布式、高度可用、可扩展到数千个节点和多个数据中心的服务发现和配置解决方案"。
是的,还有Doozerd (https://github.com/ha/doozerd)。好好看看它,这是由Heroku开发的一个漂亮的、单一二进制分布式协调服务。它有java/python/ruby/node的绑定/库。非常容易入门和玩耍。
它使用面向对象的API。这使得编写协调服务更加容易。OpenReplica的同步代码与其课本对应物完全相同;无需像ZooKeeper和Chubby那样掌握基于文件和upcall的API。
它支持动态成员更新到副本集。不需要静态配置文件。该系统集成在DNS中(OpenReplica的权威、从属或Amazon Route 53)。
我们积极支持该系统,如果您有进一步的问题,请不要犹豫告诉我们。
我知道这篇文章已经很老了,但是对于那些正在寻找所有可能的替代方案的人,我也想建议使用JGroups库,它已经足够成熟可以在生产环境中使用。我在我的一个项目中成功地使用它,主要用于分布式协调和在集群之间共享消息。除了其灵活的架构,您还可以自定义其堆栈以获得所需的内容,它还支持AWS支持。我建议你看一下它
有不同的工具可以优化不同的工程折衷。
其他工具有些有趣,但通常未经验证。如果用于生产使用,请不要弄错。