Кто-нибудь пробовал использовать ZooKeeper? - PullRequest
6 голосов
/ 06 ноября 2008

В настоящее время я искал memcached как способ координации группы серверов, но натолкнулся на Apache ZooKeeper . Это выглядит интересно, и Yahoo использует это, так что это не должно быть плохо, но я никогда не слышал об этом раньше, поэтому я немного скептически отношусь. Кто-нибудь еще попробовал? Любые комментарии или идеи?

Ответы [ 3 ]

10 голосов
/ 06 ноября 2008

ZooKeeper и Memcached имеют разные цели. Вы можете использовать memcached для координации серверов, но большую часть этой работы вам придется выполнять самостоятельно. Memcached позволяет только координацию в том смысле, что он кэширует общие поиски данных, которые будут использоваться несколькими клиентами. Из прочтения документации ZooKeeper, она имеет гораздо более широкую направленность, чем эта. ZooKeeper, кажется, обеспечивает поддержку кластеризации серверов, что не совпадает с кластеризацией кэша, которую обеспечивает memcached.

Взгляните на Linux Journal Брэда Фицпатрика статья на memcached, чтобы лучше понять, что я имею в виду.

5 голосов
/ 22 июля 2009

Чтобы узнать, на что способен Zookeper, посмотрите следующую презентацию его создателей. Он способен на гораздо большее (создание очередей, выбор главных процессов среди группы одноранговых узлов, распределенные высокопроизводительные конфигурации времени выполнения, точки сближения для отсоединенных процессов, определение того, запущены ли процессы и т. Д.).

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

Чтобы ответить на ваш вопрос, если «координация» - это то, что вы ищете, Zookeeper гораздо лучше нацелен на это, чем memcached.

1 голос
/ 12 апреля 2012

Zookeeper отлично подходит для координации данных между серверами. Это делает хорошую работу по упорядочению каждой транзакции и дает гарантии, что транзакции происходят в порядке. Однако при первом взломе документация отстой; это очень «высокий уровень» без достаточного количества конкретных примеров или объяснений того, как правильно обрабатывать определенные события. В одном из включенных примеров (начиная с версии 3.3.3) были свои ошибки.

Ваш код также должен быть осведомлен о событиях, управляемых событиями, и опросах. С массивно распределенной архитектурой, воздействуя на «события», вы можете непреднамеренно создать давку, которая не может быть желательной для вашей среды (эффект стада).

...