Висока доступність на багатьох сайтах


15

У нас є додаток SaaS, який нам повинен бути доступний. У нас вже є дорогий, добре доглянутий кластер Hyper-V з відмовою, але сьогодні в центрі обробки даних, де ми розміщуємо цей кластер, відбулося п'ятигодинне відключення електроенергії, яке нас повністю вимкнуло в автономному режимі. Тож зараз нам цікаво, чи може бути кращим підходом використання серверів у двох окремих центрах обробки даних. Припускаючи, що ми отримуємо всі типи реплікації файлів та реплікацію даних, що працюють між цими двома сайтами, нам цікаво, як впоратися з маршрутизацією на передньому кінці - не дивно, як ми підходимо до проблеми, ми завжди закінчуємось тим, що балансир навантаження єдиний пункт відмови.

Отже, питання полягає в тому, як ... як можна встановити балансування навантаження між двома хостинговими сайтами, щоб балансир навантаження не був єдиною точкою відмови? Чи є спосіб використовувати два окремих балансира навантаження, по одному на кожній ділянці? Чи варто розглядати DNS-кругової?

Відповіді:


14

Для цього правильно потрібно мати:

  • Два окремі екземпляри у двох центрах обробки даних (як ви вже визначили)
  • Синхронізація між двома центрами обробки даних (як ви вже визначили)
  • Спосіб перенаправлення клієнтів від одного до іншого у разі відмови

Існує два загальних способи зробити це. Один простий, один ... ні.

DNS

Раунд-Робін DNS - це не зовсім те, що ви хочете, тому що, швидше за все, ви хочете, щоб усі запити перейшли до основного постійного струму, а другий постійного струму використовується лише під час простою першого.

Що ви можете зробити, це встановити дуже низький TTL на вашому DNS (скажімо, 30 секунд або 5 хвилин), що означає, що якщо ваш постійний струм знизиться, ви просто оновите свій DNS і протягом 5 хвилин або близько того, всі ваші клієнти будуть вказувати на ваш інший округ Колумбія.

Це означає, що через те, що два ваших постійного струму матимуть різні макети IP, вам потрібно налаштувати це під час налаштування центру обробки даних.

BGP

В основному, якщо ви ставите це запитання, то це вже недоступно. Словом, ваші IP-адреси залишаються однаковими, але вони "переміщуються" з одного центру обробки даних в інший. Це пов'язано з дорогими маршрутизаторами, дорогими діапазонами IP та дорогими підписками на ваш місцевий реєстр для AS номерів та діапазонів IP.

Ваші маршрутизатори BGP припиняють рекламувати ваш основний центр обробки даних і починають рекламувати у вашому вторинному центрі обробки даних. Потім інтернет-маршрути навколо офлайн-центру обробки даних і відправляють трафік до вашого нового постійного струму.


Якщо ви віртуалізуєтесь з ESXi та vSphere, VMWare має досить хороший продукт, який ми перевірили одного разу під назвою VMWare Site Recovery Manager , який в основному робить все за вас. Він зберігає ваші конфігурації VM синхронізовано та підсилює їх на 2-му сайті, коли 1-й сайт переходить в офлайн. Хоча це великі гроші.


Навіть із SRM, вам все одно потрібно розібрати реплікацію, а також якусь помилку IP.
ЄЕАА

Правда, хоча у esxi5 є новий продукт реплікації, що не належить Сан. Я все ще не дуже вдивлявся в це.
Марк Хендерсон

О, це правильно. Я пам’ятаю, що щось чув про це.
ЄЕАА

1

Вам потрібно збалансувати навантаження балансирів.

Це можна зробити за допомогою DNS-кругозора, але такий підхід має багато проблем. Ви не можете контролювати клієнтів, які кешують записи довше, ніж ви хотіли, і не можете змусити трафік переходити до певного місця.

Це також можна зробити за допомогою глобального балансування навантаження на сервер (GSLB). Це більш просунутий спосіб використання DNS для отримання видимості в декількох центрах обробки даних з Інтернету. Коротше кажучи, ви налаштовуєте якийсь механізм для розподілу трафіку на фрагменти і використовуєте DNS для вибору фрагмента. Ми використовуємо хеш DNS-резолюції, налаштований для пошуку клієнтів. Інші люди використовують географію для руху до "найближчого" центру даних. Вам потрібно буде додати якийсь механізм для швидкого видалення IP-адреси з GSLB, якщо певна точка збою для цього центру даних або кластера знизиться.

http://www.eukhost.com/web-hosting/kb/global-server-load-balancing/

Нарешті, деякі дійсно просунуті люди вирішують цю проблему за допомогою Anycast DNS. Це знову намагається використовувати "найближчий" підхід до центру обробки даних. Будь-яка передача вашої послуги означає, що вам потрібно буде усунути будь-яку "державність". Це може виявитися важким.


Здається, що цей підхід все ще має єдину точку відмови, "Master Server" описаний у наданому вами посиланні.
Майк

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.