Що таке хостинг, побудований на кластерних технологіях.
Якщо порівнювати масовий хостинг з кластерним, то можна виділити наступні переваги: маcштабіруемость і відмовостійкість.
Маcштабіруемость означає, що при максимальній відвідуваності вашого веб-проекту, навантаження розподіляється рівномірно на всі вузли кластера, за рахунок чого досягається швидке завантаження сторінок вашого сайту.
Відмовостійкість забезпечує працездатність всього кластера, навіть при виході одного або декількох вузлів з ладу. Таким чином, ваші клієнти зможуть в будь-який час отримати доступ до ресурсу.
Технологічно кластер являє собою об'єднання декількох серверів зі схожими властивостями. Кожен сервер, що входить в кластер, називається вузлом або нодою (від англ. Node). При цьому для клієнтів все вузли кластера виглядають як єдиний сервер.
Існує два види кластерів:
- Кластер високої доступності (High-availability cluster)
- Кластер з балансуванням навантаження (Load balancing cluster)
Кластер високої доступності зазвичай використовується для кластеризації баз даних і інших служб. Головним завданням кластерів високої доступності є забезпечення безперебійної роботи цих служб. У разі виходу з ладу одного з вузлів, інший приймає на себе всі його функції. Цим досягається відмовостійкість, але не забезпечується масштабованість.
Кластер з балансуванням навантаження в першу чергу призначений для розподілу навантаження між вузлами кластера. Він складається з вузлів, що обробляють запити користувачів, і вузла-балансувальника. Вузол-балансувальник розподіляє запити користувачів між обробними їх вузлами, що дозволяє уникнути підвищеного навантаження на одному з них.
Для побудови масштабованих рішень використовуються кластера з балансуванням навантаження.
Зазвичай при створенні свого кластерного хостингу відбувається поєднання обидві цих технології.
Кластер складається з наступних елементів:
- Загального файлового сховища
- Балансувальник (кілька машин, побудованих за технологією кластера високої доступності)
- Серверів HTTP / FTP / баз даних
Загальна файлове сховище використовується для зберігання даних користувачів і надає всім вузлам кластера доступ до цих даних. Файлове сховище є найважливішим елементом кластера, тому ми вибрали рішення від компанії NetApp, лідера на ринку систем зберігання даних.
Відмінності між масовим хостингом і кластерним найбільш очевидні в нестандартній ситуації, наприклад, в разі коли виходить з ладу якась служба або сервер.
Схема роботи масового хостингу:
Розглянемо роботу сайту site.ru, розміщеного на сервері масового хостингу:
- Стандартна ситуація, коли все працює, дії відбуваються в наступному порядку:
- Клієнт запитує сторінку site.ru
- Сервер отримує запит і виконує PHP-скрипти
- PHP-скрипти звертаються до бази даних і, після отримання відповіді, формують html-сторінку
- Сервер відсилає сторінку клієнту
- Нестандартна ситуація - не працює служба http, база даних або сервер:
- Клієнт запитує сторінку site.ru
- Сервер не відповідає на запит клієнта, і клієнт отримує повідомлення про неможливість відобразити сторінку
Схема роботи кластерного хостингу
Нехай кластер складається з вузлів А, B, C і D.