2 DC 1 fail: как реализовать автоматический фейловер, когда данные в двух зонах доступности

Базы данных и системы хранения

Доклад принят в программу конференции

Целевая аудитория

Разработчики баз данных, DBA и архитекторы вне зависимости от грейда

Тезисы

Механизм репликации используется для обеспечения отказоустойчивости в базах данных.
Популярная разновидность -- master-slave репликация -- требует, чтобы среди нескольких узлов с одинаковыми данными был выбран главный (master), который будет доступен не только для чтения, но и для записи.
В случае его отказа необходимо выбрать нового главного среди оставшихся чтобы сохранить возможность писать данные.
Это можно делать вручную при сбое, но алгоритмы консенсуса, например RAFT и Paxos, позволяют произвести переключение автоматически.
Проблема в том, что такие алгоритмы требуют наличия минимум трёх зон доступности, а платить за них может быть накладно.
Попробуем разобраться, какие есть способы ограничиться двумя дата-центрами и при этом обеспечивать автоматическое переключение в момент сбоя.
Рассмотрим возможные трансформации алгоритма RAFT для сценария с данными в двух зонах доступности.
Предложим несколько вариантов с внешним кворумным хранилищем и с отдельным сервисом-координатором.

Работаю в Tarantool. Занимаюсь исследованиями в области графовых СУБД и SMT-солверов.

Видео

Другие доклады секции

Базы данных и системы хранения