Я досліджував рішення високої доступності (HA) для MySQL між центрами обробки даних.
Для серверів, розташованих в одному фізичному середовищі, я віддав перевагу подвійному майстру з серцебиттям (плаваючий VIP), використовуючи активний пасивний підхід. Серцебиття перебуває як через послідовний зв'язок, так і через мережеве з'єднання.
Зрештою, моя мета - підтримувати такий самий рівень доступності, але між центрами обробки даних. Я хочу динамічно переходити між обома центрами обробки даних без ручного втручання і все ж підтримувати цілісність даних.
Зверху буде BGP. Веб-кластери в обох місцях, які мали б потенціал для маршрутизації до баз даних між обома сторонами. Якщо підключення до Інтернету знизилось на сайті 1, клієнти прокладуть маршрут через сайт 2, до веб-кластеру, а потім до бази даних на сайті 1, якщо зв’язок між обома сайтами все ще працює.
При такому сценарії через відсутність фізичного зв’язку (серійного) існує більша ймовірність розщеплення мозку. Якщо WAN знизився між обома сайтами, VIP виявився б на обох сайтах, де різноманітні неприємні сценарії могли ввести десинхронізацію.
Ще одна потенційна проблема, яку я бачу, - це складність масштабування цієї інфраструктури до третього центру обробки даних у майбутньому.
Мережевий шар - це не фокус. На цьому етапі архітектура гнучка. Знову ж таки, мою увагу приділено вирішенню для збереження цілісності даних, а також автоматичного відмови від баз даних MySQL. Я б, швидше за все, спроектував решту навколо цього.
Чи можете ви порекомендувати перевірене рішення для MySQL HA між двома фізично різноманітними сайтами?
Дякую, що знайшли час, щоб прочитати це. Я з нетерпінням чекаю ваших рекомендацій.