Кластерный хостинг - сайт доступен всегда
Что такое хостинг, построенный на кластерных технологиях.
Если сравнивать массовый хостинг с кластерным, то можно выделить следующие преимущества: маcштабируемость и отказоустойчивость.
Маcштабируемость означает, что при максимальной посещаемости вашего веб-проекта, нагрузка распределяется равномерно на все узлы кластера, за счет чего достигается быстрая загрузка страниц вашего сайта.
Отказоустойчивость обеспечивает работоспособность всего кластера, даже при выходе одного или нескольких узлов из строя. Таким образом, ваши клиенты смогут в любое время получить доступ к ресурсу.
Технологически кластер представляет собой объединение нескольких серверов со схожими свойствами. Каждый сервер, входящий в кластер, называется узлом или нодой (от англ. node). При этом для клиентов все узлы кластера выглядят как единый сервер.
Существует два вида кластеров:
- Кластер высокой доступности (High-availability cluster)
- Кластер с балансировкой нагрузки (Load balancing cluster)
Кластер высокой доступности обычно используется для кластеризации баз данных и других служб. Главной задачей кластеров высокой доступности является обеспечение бесперебойной работы этих служб. В случае выхода из строя одного из узлов, другой принимает на себя все его функции. Этим достигается отказоустойчивость, но не обеспечивается масштабируемость.
Кластер с балансировкой нагрузки в первую очередь предназначен для распределения нагрузки между узлами кластера. Он состоит из узлов, обрабатывающих запросы пользователей, и узла-балансировщика. Узел-балансировщик распределяет запросы пользователей между обрабатывающими их узлами, что позволяет избежать повышенной нагрузки на одном из них.
Для построения масштабируемых решений используются кластера с балансировкой нагрузки.
Обычно при создании своего кластерного хостинга происходит совмещение обе этих технологии.
Кластер состоит из следующих элементов:
- Общего файлового хранилища
- Балансировщика (несколько машин, построенных по технологии кластера высокой доступности)
- Серверов HTTP/FTP/баз данных
Общее файловое хранилище используется для хранения данных пользователей и предоставляет всем узлам кластера доступ к этим данным. Файловое хранилище является самым важным элементом кластера, поэтому мы выбрали решение от компании NetApp, лидера на рынке систем хранения данных.
Различия между массовым хостингом и кластерным наиболее очевидны в нестандартной ситуации, например, в случае когда выходит из строя какая-то служба или сервер.
Схема работы массового хостинга:
Рассмотрим работу сайта site.ru, размещенного на сервере массового хостинга:
- Стандартная ситуация, когда все работает, действия происходят в следующем порядке:
- Клиент запрашивает страницу site.ru
- Cервер получает запрос и выполняет PHP-скрипты
- PHP-скрипты обращаются к базе данных и, после получения ответа, формируют html-страницу
- Сервер отсылает страницу клиенту
- Нестандартная ситуация - не работает служба http, база данных или сервер:
- Клиент запрашивает страницу site.ru
- Сервер не отвечает на запрос клиента, и клиент получает сообщение о невозможности отобразить страницу
Схема работы кластерного хостинга
Пусть кластер состоит из узлов А, B, C и D.
Обычная работа серверов хостинга |
||||||||||
|
Схема стандартной ситуации = все работает
|
Схема нестандартной ситуации - вышли из строя сервера A и D |
||||||||||
|
Схема аварийной ситуации = вышли из строя сервера A и D
|
Общая схема работы кластерной технологии |
||||||||||
|
Общая схема работы кластерной технологии
|