Як працює каскадна реплікація в Redis?
Каскадна реплікація (cascading replication) у Redis - це схема, за якої репліка сама може виступати джерелом даних для інших реплік.
Як це влаштовано
Зазвичай усі репліки підключаються напряму до master. Але в каскадній схемі:
- одна чи кілька реплік підключаються до іншої репліки,
- а та, своєю чергою, отримує дані від master.
Тобто ланцюжок виглядає так:
javascript
master → replica1 → replica2 → replica3Як працює синхронізація
- Master передає дані
replica1. - Replica1, синхронізувавшись, стає джерелом для replica2.
- Усі оновлення, що надходять на master, передаються далі по ланцюжку.
- Кожна репліка підтримує власне зміщення (
replication offset), щоб розуміти, які дані вже отримано.
Навіщо це потрібно
- Зниження навантаження на master - не всі репліки підключаються до нього напряму.
- Масштабування за читанням - можна будувати багаторівневу структуру, де нижні рівні обслуговують запити читання.
- Гнучкість у географічному розподілі - наприклад, найближчий до регіону дата-центр отримує дані не від master, а від проміжної репліки.
Недоліки
- Затримка оновлень зростає з довжиною ланцюжка.
- Якщо "проміжна" репліка падає - усі її "дочірні" втрачають джерело синхронізації.
- Redis не керує цією структурою автоматично - адміністратор сам вказує, від кого кожна репліка має реплікуватися (
REPLICAOF host port).
Підсумок: Каскадна реплікація в Redis - це ручна схема, де репліки можуть копіювати дані не напряму від master, а одна від одної, щоб зменшити навантаження на головний сервер і масштабувати систему за читанням.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.