Кластеры распределения нагрузки
Принцип их действия строится на распределении запросов через один или несколько входных узлов, которые перенаправляют их на обработку в остальные, вычислительные узлы. Первоначальная цель такого кластера — производительность, однако, в них часто используются также и методы, повышающие надёжность.
Вычислительные кластеры
Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой и низкая латентность объединяющей сети, и менее существенными — скорость операций ввода-вывода, которая в большей степени важна для баз данных и web-сервисов. Вычислительные кластеры позволяют уменьшить время расчетов, по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети.
Кластер серверов
Кластер серверов — группа серверов, объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс. Чаще всего серверы группируются посредством локальной сети. Группа серверов обладает большей надежностью и большей производительностью, чем один сервер. Объединение серверов в один ресурс происходит на уровне программных протоколов.
Распределенная система корпоративного уровня – десятки и даже сотни компьютеров, при работе которых необходимо устанавливать правила совместного использования ресурсов. Масштаб таких систем, как правило, небольшой, и можно обходиться прямыми административными мерами для организации работы ресурсов и пользователей;
Глобальная система (грид-система) – огромное количество компьютеров, число которых может достигать нескольких миллионов, распределенных по миру и объединенных глобальной сетью. Административное программное обеспечение, встроено в промежуточное программное обеспечение.
По архитектуре РИС можно разделить на файл - серверные ИС (ИС с архитектурой «файл-сервер») и клиент-серверные ИС (ИС с архитектурой «клиент-сервер»).
В файл-серверных ИС база данных находится на файловом сервере, а СУБД и клиентские приложения находятся на рабочих станциях. Извлекают данные из файлов. Дополнительные пользователи и приложения такой ИС добавляют дополнительной вычислительной мощности.
В клиент-серверных ИС база данных и СУБД находятся на сервере, а на рабочих станциях находятся клиентские приложения. В них сервер расположен наиболее эффективно, как правило, используется сервер БД, который выполняет запросы.
«Файл – серверное» построение ИС.
ЛС – локальная сеть.
ФС – файловый сервер.
Особенность построения ИС является то, что она позволяет получить доступ к данным многих пользователей. С другой стороны, взаимообмен ПО с данными осуществляется с одного или несколькими сетевыми уровнями. Вся обработка осуществляется на сетевых уровнях. Это значит, что любая элементарная операция над данными приводит к повышению трафика локальной сети.
Т.е. с увеличением компьютеров, устойчивых в обработке, а так же с ростом объема хранимых данных, нагрузка на локальную сеть может вырасти настолько, что это приведет к замедлению работы всей системы, а чтобы как-то увеличить производимость системы придется наращивать производительность системы, ФС, ЛС и сетевых компьютеров.
Рис.1 - «Файл – серверное» построение ИС.
К преимуществам файл - серверной архитектур относят:
1) Низкая стоимость разработки архитектуры.
2) Высокая скорость разработки
3) Невысокая стоимость доработки и обновлений.
К недостаткам файл- серверной архитектуре относят:
1) При большом объеме передаваемых данных сеть "забивается" уже при небольшом числе пользователей.
2) Не поддержание функции распределенных вычислений.
3) Низкая производительность СУБД
4) Совокупность всей информации в одном месте, что может резко сказаться на потерях.
Схема «клиент – сервер».
Вместо файловой системы для хранения данных используется сервер БД.
Особенностью СБД является то, что он способен выполнять запрос на обработку данных. Один такой запрос может содержать в себе множество элементарных операций над данными.
Кроме этого, на сервере БД могут храниться программы – модули, состоящие из произвольного количества операторов, определен язык программирования, которые могут быть выставлены на команде с сетевого компьютера.
Вся обработка данных переместилась на 1 компьютер, что привело к уменьшению нагрузки на СК и сетевые компьютеры.
Теперь для увеличения производительности ИС достаточно понять производительность одного компьютера, где располагается сервер БД.
Рис.2 - Схема «клиент – сервер».
Примеры клиент-серверных приложений:
Офисная программа Microsoft Outlook. Она может служить основой для создания клиентских приложений систем управления документами.
Офисная программа Excel 2000. Она использует клиент-серверный подход, обеспечивая быстрый доступ к большим серверным базам данных. Клиент-серверный подход позволяет Excel 2000 более эффективно работать с находящимися на сервере большими базами данных, поскольку на клиент передаются только необходимые пользователю агрегаты данных, а не весь их набор.
Преимущества клиент-серверной архитектуры перед файл-серверной:
уменьшение сетевого трафика за счет того, что выборка данных производится на сервере, и они не "прокачиваются" по сети;
увеличение производительности за счет того, что сам сервер может эффективно кэшировать данные (в отличие от клиента, который никогда не может быть уверен в том, что его данные "первой свежести".
перенос части функциональности на сервер с уменьшением трафика и увеличением производительности;
масштабируемость - при возрастании нагрузки достаточно заменить лишь сервер, а не все станции и сетевые платы;
наличие транзакций, без которых практически невозможно обеспечить логическую непротиворечивость данных.
