Разница между Zookeeper и службой управляемых реплицируемых баз данных - PullRequest
0 голосов
/ 20 мая 2018

Я только что натолкнулся на Zookeeper и задаюсь вопросом: в чем разница между Zookeeper и доступной, согласованной, надежной, распределенной, реплицируемой службой баз данных, такой как AWS DynamoDB или даже AWS S3 (служба хранения)?Ключевые функции, такие как управление конфигурацией, распределенная синхронизация и т. Д., Могут быть легко реализованы с помощью базы данных, такой как AWS DynamoDB.Я понимаю, что между Zookeeper и такими продуктами, как DynamoDB, будут архитектурные различия.Но есть ли какие-то серьезные различия между ними?Есть ли какая-либо причина использовать Zookeeper над другими.

1 Ответ

0 голосов
/ 21 мая 2018

Сначала позвольте мне рассказать вам некоторые основы о zookeeper, которые вы, возможно, уже знаете:

  • Zookeeper не является базой данных
  • Zookeeper является службой координации
  • Zookeeper обладает высокой доступностью и способен управлять более чем 4000 узлами в кластере.
  • Zookeeper хранит всю свою информацию в znodes, и каждый Znode может иметь максимальный размер 1 МБ.
  • Zookeeper обеспечивает3 типа узлов: эфемерный, последовательный и постоянный

Теперь, чтобы ответить на ваш запрос:

Zookeeper используется для предоставления эксклюзивных блокировок сервисам, где есть мастер-Slave архитектура, и вы хотите, чтобы только один сервис был активным и выполнял все операции чтения / записи.

Zookeeper можно использовать и для сеансов.Подобно тому, как эфемерный узел будет генерироваться для каждого пользователя для сеанса, и когда пользователь выходит из системы, этот узел автоматически удаляется из памяти zookeeper.

Zookeeper является надежным и отказоустойчивым и выполняет операции в памяти, что делаетэто еще быстрее.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...