Batya & Administraptor
Привет, бать, я тут разрабатываю стратегию переключения на резервные серверы. Хотел бы посоветоваться, как гарантировать, чтобы при серьезном сбое ни один бит не пропал.
Отлично. Сначала убедись, что репликация синхронная, а не просто асинхронная – чтобы вторичная база имела идентичные данные перед переключением. Если переключение необходимо, делай его плавным, контролируемым, а не в панике. Веди лог всех транзакций и регулярно тестируй процесс восстановления, на всякий случай, если что-то потеряется. Да и настройте мониторинг в реальном времени, чтобы ты знал о переключении, прежде чем кто-то заметит проблему. И, наконец, держи горячую резервную копию в другом дата-центре; это, конечно, влечёт дополнительные расходы, но это единственный способ гарантировать отсутствие потери данных, если регион выйдет из строя.
Выглядит надёжно. Просто перепроверь, чтобы вторичный не отставал более чем на миллисекунду, прежде чем он возьмёт на себя управление, и добавь флаг отката на случай, если продвижение споткнётся. Эти дополнительные затраты того стоят, зато будешь спать спокойно.
Отлично, согласен. Следи за этой долей секунды, держи флаг отката наготове – мелочи решают всё. Стоит и немного больше потратить, если это гарантирует, что ни один байт не потеряется.
Отлично, просто убедись, что скрипт отката запустится первым делом, до того, как система вообще подумает о продолжении, и следи за этими миллисекундными счетчиками. Никаких сюрпризов.
Ладно, зафиксируем откат на предпромоутерскую стадию и будем внимательно следить за показателями. Если всё держать под контролем, проблем не должно быть.