Кластер (в информацонных технологиях) — группа серверов (программных или аппаратных), объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс. Чаще всего серверы группируются посредством локальной сети.Группа серверов обладает большей надежностью и большей производительностью, чем один сервер.
В большинстве случаев, кластеры серверов функционируют на раздельных компьютерах. Это позволяет повышать производительность за счёт распределения нагрузки на аппаратные ресурсы и обеспечивает отказоустойчивость на аппаратном уровне.Однако, принцип организации кластера серверов (на уровне программного протокола) позволяет исполнять по нескольку программных серверов на одном аппаратном. Такое использование может быть востребовано: * при разработке и тестировании кластерных решений; * при необходимости обеспечить доступность кластера только с учётом частых изменений конфигурации серверов — членов кластера, требующих их перезагрузки (перезагрузка производится поочерёдно) в условиях ограниченных по аппаратных ресурсов.
Объединение серверов в один ресурс происходит на уровне программных протоколов.В отличие от аппаратного кластера, кластеры, организуемые программно: * требуют наличия специального программного модуля (Cluster Manager), основной функцией которого является поддержание взаимодействия между всеми серверами — членами кластера: o синхронизации данных между всеми серверами — членами кластера; o распределение нагрузки (клиентских запросов) между серверами — членами кластера; * требуют от клиентского программного обеспечения умения распознавать сервер, представляющий собой кластер серверов, и соответствующим образом обрабатывать команды от Cluster Manager; o если клиентская программа не умеет распознавать кластер, она будет работать только с тем сервером, к которому обратилась изначально, а при попытке Cluster Manager перераспределить запрос на другие серверы, клиентская программа может вообще лишится доступа к этому серверу (результат зависит от конкретной реализации кластера).