Кластер серверов - это группа серверов, работающих вместе в одной системе, чтобы обеспечить пользователям более высокую доступность. Эти кластеры используются для сокращения времени простоя, позволяя другому серверу продолжать работу в случае сбоя. Группа серверов подключена к одной системе. В тот момент, когда один из этих серверов становиться недоступным, рабочая нагрузка перераспределяется на другой сервер до того, как клиент испытывает какое-либо время простоя.
Отказоустойчивые. Несколько серверов объединяются с целью дублирования друг друга.
Высокопроизводительные. На группу машин отправляются данные для обработки — кластер распределяет задачи по всем участникам для ускорения обработки.
Балансировщики. Все запросы на серверы распределяются в случайном порядке между нодами кластера.
Принято считать, что кластеры серверов делятся на две модели:
Первая — это использование единого массива хранения информации, что дает возможность более быстрого переподключения при сбое. Однако в случае с объемной базой данных и большим количеством аппаратных единиц в системе, возможно падение производительности.
Вторая — это модель, при которой серверы независимы, как и их периферия. В случае отказа перераспределение происходит между серверами. Здесь ситуация обратная — трафик в системе более свободен, однако, усложняется и ограничивается пользование общей базой данных.
Основным обоснованием для кластеров серверов является защита от простоев и сбоев. Как упомянуто выше, кластерные серверы обеспечивают повышенную защиту от полного отключения сети во время сбоя питания, и предназначены для защиты от трех основных типов сбоев:
Сбой приложения/службы: сбой, который влияет на критически важные приложения и службы в сети.
Системный/аппаратный сбой: выходы из строя, которые влияют на такие компоненты, как процессоры, память, адаптеры, диски и источники питания.
Сбой датацентра: сбои датацентров, которые затрагивают несколько мест, как правило, вызваны стихийными бедствиями, которые приводят к массовым отключениям электроэнергии.
кластер серверов может функционировать на одном или нескольких компьютерах (рабочих серверах);
на каждом рабочем сервере может функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера;
подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов;
взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP;
процессы кластера сервера могут быть запущены как приложение, или как сервис.
В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных.
Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера.
Для клиентского соединения кластер адресуется по имени центрального сервера и номеру IP порта. Если используется стандартный IP порт, то достаточно указания одного имени центрального сервера.
При установке соединения клиентское приложение обращается к центральному серверу кластера. Центральный сервер, на основе анализа статистики загруженности рабочих процессов, направляет клиентское приложение к конкретному рабочему процессу, который будет его обслуживать. Этот процесс может находиться как на центральном сервере, так и на любом рабочем сервере кластера.
Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой.
Существует три основных причины кластеризации серверов. Это доступность, масштабируемость и надежность. Ключ к защищенной ИТ-инфраструктуре лежит в избыточности. Создание кластера серверов в одной сети обеспечивает максимальную избыточность и гарантирует, что одна ошибка не приведет к отключению всей сети.