Redis vs Zookeeper


25

Здається порівняти ці два сервери, вважаючи, що вони призначені для дуже різних речей. Але якщо ви подумаєте над цим, вони можуть робити багато подібних речей: зберігати дані конфігурації, розподілене блокування, чергування тощо.

У мене є екземпляр Redis, який я використовую для деяких речей, пов'язаних з виробництвом, але хотів би зробити просту синхронізацію між серверами (в основному зміни конфігурації, які не потребують натискання коду та простого блокування між серверами). Що Zookeeper дати мені , що Redis не буде?


Redis не (конкретно) для конфігурації. Вони зовсім інші продукти.
Рейн Генріхс

4
Чому? Ми використовуємо PostgreSQL для конфігурації. Що робить конфігурацію настільки відмінною від бізнес-логіки?
Дмитро Негода

Відповіді:


26

Ми використовуємо і Redis, і Zookeeper у роботі, так що це з перших рук

Редіс швидкий; дійсно, дуже швидко. Це також відразу узгоджується, тому це добре для швидких рухомих наборів даних. Мінус полягає в тому, що, працюючи на одному сервері, якщо він не працює, то ви втрачаєте доступ до запису, поки інший сервер не займе його місце. Заміна сервера - це ручна операція, якщо ви не автоматизуєте його самостійно. (Ви все одно можете отримати доступ для читання до своїх даних, якщо налаштовуєте ведений екземпляр).

Зоопарк також відрізняється негайною консистенцією. Це не вдвічі швидше, але він відновиться автоматично (де це можливо) в разі відмови, тому, якщо вам потрібен постійний доступ до запису, навіть коли ваші сервери відмовляються від вас, ви хочете використовувати Zookeeper.

Моя порада: використовувати зоокедер для координації: відстежувати, які вузли активні, вибори лідера серед групи тощо. Використовуйте redis для наборів даних, які потребують швидкого запису, але де випадкові відключення не є катастрофою. Наприклад, натисніть лічильники веб-сторінок.


Наразі я працюю над проектом і думав, що дорога буде зоохозяйкою. Якщо у вас є більше інформації, якою ви можете десь поділитися, було б чудово. Ми маємо справу з декількома обмінами оголошень і відстежуємо близько 4 мільярдів + подій на день. Ми хочемо переробити наші сервери на передньому кінці та дивилися на зоопарку, щоб зберігати інформацію про відстеження кількості, мінімальної ваги тощо. Я можу засвідчити швидкість редагування, але в моєму досвіді це не має ієрархічної структури, яку ми хотіли використати разом із зоопарком. Чи змінилася ваша позиція за 3 роки з 2012 року?
Кріс Хіншоу

@ChrisHinshaw Я зіткнувся з тим же питанням. Вважаючи Redis і Zookeeper для диспетчера розподілених ресурсів, який вимагає як розподілених блокувань, так і продуктивності. У вас є відгуки?
Рафаель Сараїва

Зараз я закінчую перепис цього. Я поїхав з redis через швидкість. Були деякі проблеми з роботою із зоопарком, але я не пригадую проблем. Ми зберігаємо дані часописів на основі показників і підрахунків. Я використовую сценарії lua для оновлення підрахунків за кожен часовий період, щоб обмежити кількість дзвінків. Прикладом є те, що у нас є хеш-ключ для запитів на торги у вигляді br: 1: 2: 3: 4, де числа представляють ієрархію метрики: агенція: рекламодавець: кампанія: реклама. У хеші значення: рік: місяць: день: година: хвилина. У моєму сценарії луа я б оновив рахунки для кожного
Кріс Хіншоу,

часу скибочки. Тож мій сценарій розділяє y: m: d: h двокрапкою та оновлює підсумки для кожного фрагмента. Таким чином я можу використовувати hscan або отримати список ключів для будь-якого часового відрізка. Найголовніше, що в redis - придумати ієрахіальну модель для ключів. В якийсь момент у майбутньому я хотів би перенести все це, щоб розпалити rdd з магазином кассандри. Якби у мене був час, я застосував би прямування іскри, щоб визначити це. Я думаю, що це було б нарівні з redis та надає гнучкість робити аналітику.
Кріс Хіншоу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.