Глупо сравнивать эти два сервера, учитывая, что они предназначены для совершенно разных вещей. Но если подумать, они могут сделать много похожих вещей: хранить данные конфигурации, распределенную блокировку, очередь и т. Д.
У меня есть экземпляр Redis, который я использую для некоторых вещей, связанных с производством, но хотел бы выполнить некоторую простую синхронизацию между серверами (в основном изменения конфигурации, которые не требуют увеличения кода и простой блокировки между серверами). Что дает мне Zookeeper , а Redis - нет?
database
synchronization
redis
Джейсон Бейкер
источник
источник
Ответы:
Мы используем Redis и Zookeeper на работе, так что это из первых рук
Redis быстр; очень, очень быстро. Это также немедленно согласуется, так что это хорошо для быстро перемещающихся наборов данных. Недостатком является то, что при работе на одном сервере, если он выходит из строя, вы теряете доступ для записи, пока другой сервер не займет его место. Замена сервера выполняется вручную, если вы не автоматизируете его самостоятельно. (Вы все еще можете получить доступ на чтение к своим данным, если вы настроите ведомый экземпляр).
Zookeeper также имеет немедленную согласованность. Это не в два раза быстрее, но он будет восстанавливаться автоматически (где это возможно) в случае сбоя, поэтому, если вам нужен постоянный доступ для записи, даже если ваши серверы выходят из строя на вас, вы захотите использовать Zookeeper.
Мой совет: используйте zookeeper для координации: отслеживание активных узлов, выбор лидера в группе и т. Д. Используйте redis для наборов данных, которые нуждаются в быстрой записи, но где случайное отключение не является катастрофой. Например, счетчики посещений для веб-страниц.
источник