Я исследовал решения высокой доступности (HA) для MySQL между центрами обработки данных.
Для серверов, расположенных в одной и той же физической среде, я предпочел двойной мастер с биением сердца (плавающий VIP) с использованием активного пассивного подхода. Сердцебиение происходит как через последовательное соединение, так и через соединение Ethernet.
В конечном счете, моя цель - поддерживать тот же уровень доступности, но между центрами обработки данных. Я хочу динамически переключаться между двумя центрами обработки данных без ручного вмешательства и при этом сохранять целостность данных.
Там будет BGP на вершине. Веб-кластеры в обоих местах, которые могли бы направлять в базы данных между обеими сторонами. Если подключение к Интернету было прервано на сайте 1, клиенты перенаправили бы через сайт 2 в веб-кластер, а затем в базу данных на сайте 1, если связь между обоими сайтами все еще работает.
При таком сценарии из-за отсутствия физического соединения (серийного) существует более высокая вероятность расщепления мозга. Если бы WAN выходил из строя между обоими сайтами, VIP оказался бы на обоих сайтах, где множество неприятных сценариев могло бы привести к рассинхронизации.
Другая потенциальная проблема, которую я вижу, - это трудности с масштабированием этой инфраструктуры до третьего центра обработки данных в будущем.
Сетевой уровень не является фокусом. Архитектура является гибкой на данном этапе. Опять же, мое внимание сосредоточено на решении для поддержания целостности данных, а также автоматического переключения при сбое с базами данных MySQL. Я бы, вероятно, разработал остальное вокруг этого.
Можете ли вы порекомендовать проверенное решение для MySQL HA между двумя физически разнородными сайтами?
Спасибо, что нашли время, чтобы прочитать это. Я с нетерпением жду чтения ваших рекомендаций.