有没有人尝试过使用ZooKeeper?

时间:2008-11-06 18:29:04

标签: caching memcached apache-zookeeper

我目前正在研究memcached作为协调一组服务器的方法,但在此过程中遇到了Apache's ZooKeeper。它看起来很有趣,雅虎使用它,所以它不应该坏,但我以前从未听说过,所以我有点怀疑。还有其他人试一试吗?有什么意见或想法吗?

3 个答案:

答案 0 :(得分:10)

ZooKeeper和Memcached有不同的用途。您可以使用memcached进行服务器协调,但您必须自己完成大部分工作。 Memcached仅允许协调,因为它缓存多个客户端使用的常见数据查找。从阅读ZooKeeper的文档来看,它的重点远不止于此。 ZooKeeper似乎为服务器集群提供支持,这与memcached提供的缓存集群不同。

在memcached上查看Brad Fitzpatrick的Linux Journal article,以便更好地了解我的意思。

答案 1 :(得分:5)

要了解Zookeper的功能,请观看其创建者的以下演示文稿。它具有更多功能(创建队列,在一组对等体中选择主进程,分布式高性能运行时配置,分离进程的集合点,确定进程是否仍在运行等)。

http://zookeeper.sourceforge.net/index.sf.shtml

要回答你的问题,如果你正在寻找“协调”,那么Zookeeper比memcached更有针对性。

答案 2 :(得分:1)

Zookeeper非常适合跨服务器协调数据。它可以很好地订购每笔交易并保证交易按顺序进行。然而,当第一次进入它时,文档很糟糕;如果没有足够的具体例子或解释如何正确处理某些事件,它是非常“高级”的。其中一个包含的示例(从版本3.3.3开始)中有自己的错误。

您的代码还需要了解事件驱动的交互和轮询交互。采用大规模分布式架构,在对“事件”采取行动时,您可能会无意中制造出一种对您的环境来说不可取的踩踏(放牧效果)。