Опис кластерної технології

Що таке хостинг, побудований на кластерних технологіях.

Якщо порівнювати масовий хостинг з кластерним, то можна виділити наступні переваги: ​​маcштабіруемость і відмовостійкість.

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

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

Технологічно кластер являє собою об'єднання декількох серверів зі схожими властивостями. Кожен сервер, що входить в кластер, називається вузлом або нодою (від англ. Node). При цьому для клієнтів все вузли кластера виглядають як єдиний сервер.

Існує два види кластерів:

  • Кластер високої доступності (High-availability cluster)
  • Кластер з балансуванням навантаження (Load balancing cluster)

Кластер високої доступності зазвичай використовується для кластеризації баз даних і інших служб. Головним завданням кластерів високої доступності є забезпечення безперебійної роботи цих служб. У разі виходу з ладу одного з вузлів, інший приймає на себе всі його функції. Цим досягається відмовостійкість, але не забезпечується масштабованість.

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

Для побудови масштабованих рішень використовуються кластера з балансуванням навантаження.

Зазвичай при створенні свого кластерного хостингу відбувається поєднання обидві цих технології.

Кластер складається з наступних елементів:

  • Загального файлового сховища
  • Балансувальник (кілька машин, побудованих за технологією кластера високої доступності)
  • Серверів HTTP / FTP / баз даних

Загальна файлове сховище використовується для зберігання даних користувачів і надає всім вузлам кластера доступ до цих даних. Файлове сховище є найважливішим елементом кластера, тому ми вибрали рішення від компанії NetApp, лідера на ринку систем зберігання даних.

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

Схема роботи масового хостингу:

Розглянемо роботу сайту site.ru, розміщеного на сервері масового хостингу:

  • Стандартна ситуація, коли все працює, дії відбуваються в наступному порядку:
    1. Клієнт запитує сторінку site.ru
    2. Сервер отримує запит і виконує PHP-скрипти
    3. PHP-скрипти звертаються до бази даних і, після отримання відповіді, формують html-сторінку
    4. Сервер відсилає сторінку клієнту

  • Нестандартна ситуація - не працює служба http, база даних або сервер:
    1. Клієнт запитує сторінку site.ru
    2. Сервер не відповідає на запит клієнта, і клієнт отримує повідомлення про неможливість відобразити сторінку

Схема роботи кластерного хостингу

Нехай кластер складається з вузлів А, B, C і D.

Звичайна робота серверів хостингу