动物园管理员的替代品? (集群协调服务)[关闭]

2024-01-09

动物园管理员 http://zookeeper.apache.org是数据中心的高度可用的协调服务。它起源于Hadoop项目。人们可以在此基础上实现锁定、故障转移、领导者选举、组成员资格和其他协调问题。 有没有 ZooKeeper 的替代品? (当然是免费软件)


我广泛研究了 Zookeeper/Curator https://github.com/Netflix/curator, Eureka https://github.com/Netflix/eureka, etcd https://github.com/coreos/etcd和领事。如果您身处 Java 世界,Zookeeper/Curator 和 Eureka 在很多方面都是最完善且最容易集成的。Etcd https://github.com/coreos/etcd非常酷且非常灵活,但它实际上只是一个 HA 密钥存储,因此您必须编写大量代码才能将其变成固执己见的服务发现系统。

Consul http://www.consul.io/(对我来说)是两全其美。它是一个固执己见的服务发现系统,编写在serf http://www.serfdom.io/,使用 raft 进行集群共识,使用 gossip 进行通信。它使用记录良好的 REST api 公开发现/注册端点,还允许您使用 DNS SRV 记录发现服务,并使用配置注册服务(即,您可以注册无法与客户端集成的数据库或应用程序,或者如果您只是想让服务发现与应用程序解耦)

我写了一个关于领事的博客文章 http://txt.fliglio.com/2014/05/encapsulated-services-with-consul-and-confd/您可以在其中了解更多信息并浏览我的“尝试一下”演示

我也讨论过使用 etcd 和 docker 进行服务发现 http://txt.fliglio.com/2013/12/service-discovery-with-docker-docker-links-and-beyond/如果您想了解有关自定义代码的更多信息。

最后一件事! etcd 和 consul 是用 go 编写的,因此维护它们比像 Zookeeper 这样的 Java 解决方案要容易得多。您所需要的只是 consul / etcd 二进制文件。没有依赖项,没有链接库,没有jvm。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动物园管理员的替代品? (集群协调服务)[关闭] 的相关文章

随机推荐