Чим Sentinel відрізняється від Redis Cluster?
Redis Sentinel і Redis Cluster вирішують різні задачі:
Redis Sentinel - система моніторингу й автоматичного фейловеру
Головна мета: забезпечити високу доступність (High Availability) одного логічного Redis-інстансу.
Як працює:
- Sentinel стежить за master і його репліками.
- Якщо master перестає відповідати, Sentinels проводять голосування і призначають нову репліку master-ом.
- Клієнти дізнаються про це й автоматично перемикаються на новий master.
Що дає:
- Автоматичний фейловер (перемикання при збої).
- Моніторинг стану вузлів.
- Перепризначення ролей master/replica.
Чого немає**:**
- Sentinel не ділить дані по вузлах (усі копії зберігають однакові дані).
- Масштабування за обсягом даних відсутнє.
Застосовується, коли потрібно:
Один логічний Redis, кілька копій для надійності.
Redis Cluster - розподілене зберігання даних
Головна мета: забезпечити масштабування й високу доступність за рахунок розділення даних між вузлами.
Як працює:
- Ключі розподіляються між кількома master-вузлами за хеш-слотами (всього 16384).
- Кожен master має одну чи кілька реплік.
- Якщо один master падає, його репліка автоматично стає новим master.
Що дає:
- Горизонтальне масштабування (можна зберігати значно більше даних).
- Висока доступність без Sentinel.
- Автоматичне відновлення й маршрутизація запитів.
Чого немає**:**
- Немає повної ізоляції - частина даних може бути недоступна, якщо master і його репліки одночасно впали.
- Деякі команди (multi-key) працюють обмежено.
Застосовується, коли потрібно:
Великий обсяг даних, розподілений по кількох серверах.
Коротке порівняння:
| Критерій | Redis Sentinel | Redis Cluster |
|---|---|---|
| Основна мета | Відмовостійкість | Масштабування + відмовостійкість |
| Реплікація | Так (1 master + N replicas) | Так (кілька master-реплік) |
| Розподіл даних | Ні | Так (за слотами) |
| Автоматичний фейловер | Так | Так |
| Масштабування | Ні | Так |
| Підтримка multi-key | Повна | Обмежена (в межах одного слота) |
| Використання | Проста HA-схема | Кластер великих даних |
Підсумок:
- Sentinel - робить Redis відмовостійким, але не масштабованим.
- Cluster - робить Redis і відмовостійким, і масштабованим за рахунок розподілу даних.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.