Двухзвенная архитектура с использованием терминальных служб



При использовании этой архитектуры к предыдущей схеме добавляется ещё один компьютер – терминальный сервер. Этот компьютер берёт на себя выполнение программ, обычно запускаемых на клиентских местах (таких как клиент ИС или MS Office, например). Клиентским компьютерам терминальный сервер передаёт внешний вид окна приложения, выполняемого на сервере.

При использовании этой концепции есть следующие плюсы:

  1. Большая надёжность функционирования информационной системы. В случае, если произошёл аппаратный сбой на рабочей станции, например, вышел из строя жёсткий диск, пользователь может дождаться его замены или с другого компьютера подключиться к своему вынужденно прерванному сеансу работы.
  2. Меньшая стоимость сопровождения рабочих станций – вместо того, чтобы устанавливать большой набор программного обеспечения на каждую рабочую станцию достаточно установить только клиентскую часть для терминальной службы. Приложения, обычно устанавливаемые на рабочую станцию, в этом случае инсталлируются на терминальный сервер. Также уменьшается стоимость обслуживания клиентского ПО.
  3. Меньшая стоимость лицензий на то программное обеспечение, для которого лицензируется каждое рабочее место, на которое устанавливается программный продукт, например, Microsoft Office.
  4. Устойчивая работа системы при наличии слабого канала между рабочими станциями и сервером.

Одним из примеров снижения стоимости информационной системы может служить сеть, содержащая вместо рабочих станций бездисковые (а соответственно – и более защищённые и надёжные) терминалы под управлением ОС Linux – бесплатной операционной системы под которую есть бесплатный клиент для терминальных служб.

Такой подход применен, например, при разработке языка программирования CLIP/Unix (www.itk.ru) – по утверждению разработчиков,

Двухзвенная архитектура с использованием терминальных служб

 

Трёхзвенная архитектура с «толстым клиентом»

«Трёхзвенная» в данном случае означает, что используется сервер приложений, а «толстый клиент» означает, что работу по взаимодействию с базой данных берёт на себя не сервер приложения, а клиентские машины.

Трёхзвенная архитектура с «толстым» клиентом

 

Одним из преимуществ работы в этом варианте является большая защищённость библиотеки приложения и исключение сетевого трафика между файловым сервером с приложением и рабочими станциями. Применяется также вариант этой схемы с хранением библиотеки приложения прямо на сервере приложений, без использования выделенного файлового сервера, что ещё больше уменьшает нагрузку на сеть. Так же уменьшается нагрузка на клиентские машины – её берёт на себя сервер приложений.

 

Трёхзвенная архитектура с «тонким клиентом»

Выражение «тонкий клиент» означает, что рабочие станции не работают напрямую ни с базой данных, ни с библиотекой приложения, все эти операции берёт на себя сервер приложений. Соответственно этот вариант заметно снижает нагрузку на сеть (кроме участка между сервером приложений и сервером баз данных) по сравнению с предыдущим.

Трёхзвенная архитектура с «тонким клиентом»

Использование кластеров

Легко заметить по последним схемам, что серверы (терминальный сервер, сервер приложений, сервер баз данных, файловый сервер для хранения библиотеки приложения) являются в них уязвимым местом. Во-первых, при выходе из строя такой машины система выйдет из строя, а во-вторых, при увеличении размеров информационной системы, например, увеличении числа клиентских машин, может потребоваться замена сервера – он просто не будет справляться с нагрузкой.

Первая проблема решается использованием отказоустойчивых серверов, а вторая – использованием кластеров (систем из нескольких серверов, способных параллельно выполнять одну задачу). В кластер можно объединить как терминальные серверы, так и серверы приложений, и серверы баз данных.

Кластерные системы отличаются следующими достоинствами:

  1. Большая надёжность. При выходе из строя компьютера, входящего в кластер, мы можем использовать ресурсы прочих серверов, входящих в кластер. В большинстве случаев нам просто придётся перезапустить программу на клиентских машинах, взаимодействовавших в момент аварии с повреждённым сервером.
  2. Высокая масштабируемость. В случае если у нас нагрузка на кластер возрастёт, мы просто добавим в кластер ещё один сервер.
  3. Возможность гибкого выделения ресурсов серверов. Мы можем выделить общий набор серверов для нескольких кластеров. Например, сделать кластер для серверов приложений и другой кластер – для серверов баз данных. Далее в случае, если нагрузка на сервер баз данных будет выше, чем мы предполагали, то мы сможем рассмотреть вопрос о передаче одного сервера из первого кластера во второй или даже вопрос о совместном использовании одной или нескольких машин в двух кластерах.

Серверы приложений могут быть объединены в кластер двумя способами:

  1. С использованием кластера Windows.
  2. Без использования кластера Windows.

 

Технология кластеризации Microsoft

Кластеризация предполагает установление физических и программных связей между серверами и координацию их взаимодействия при решении общих задач. При возможном сбое одного из серверов процесс, называемый передачей нагрузки при сбое (failover), автоматически перемещает его нагрузку на другой сервер, обеспечивая непрерывность обслуживания. Кроме метода передачи нагрузки, некоторые виды кластеризации используют также средства балансировки нагрузки, позволяющие распределить вычислительную нагрузку в сети связанных компьютеров.

Технологии кластеризации Windows Server 2003 в сочетании возможностями симметричной мультипроцессорной обработкой (SMP) и поддержкой больших объемов памяти позволяют организациям гарантировать отказоустойчивость важнейших приложений и удовлетворять возрастающие потребности путем расширения этих приложений «вверх» и «вширь».

Кластер — это группа независимых компьютеров, совместно выполняющих общий набор приложений, которая воспринимается клиентами и приложениями как единая система. Компьютеры физически связаны кабелями, а программно — с помощью программного обеспечения кластера. Эти связи позволяют компьютерам использовать методы передачи нагрузки при сбое и балансировки нагрузки, которые неприменимы к одиночному компьютеру.

Технологии кластеризации обеспечивают высокую отказоустойчивость, масштабируемость и управляемость.

1. Высокая отказоустойчивость. Кластер создается для предотвращения возможных отказов. Приложения могут быть распределены между несколькими компьютерами, что повышает степень параллелизма, ускоряет процесс восстановления после сбоев и обеспечивает большую отказоустойчивость.

2. Масштабируемость. Производительность кластера может быть увеличена за счет добавления процессоров или компьютеров.

3. Управляемость. Конечные пользователи, приложения и сеть воспринимают кластер как единую систему, и в таком же целостном виде он управляется администраторами. Управление кластером может быть и удаленным.

Корпорация Microsoft предлагает две технологии кластеризации, которые могут использоваться независимо или совместно, предоставляя организациям возможность выбора такого решения, которое отвечало бы требованиям к определенному приложению или службе.

1. Служба кластеров (Cluster service). Основным назначением этой службы является реализация метода передачи нагрузки при сбое для поддержки таких приложений, как базы данных, системы передачи сообщений и службы файлов/печати. Эта служба является идеальным решением для обеспечения доступности важнейших бизнес-приложений и других серверных систем, таких, например, как сервер Microsoft Exchange Server или база данных Microsoft SQL Server, используемая в качестве хранилища данных для веб-узла.

2. Балансировка нагрузки сети (NLB, Network Load Balancing). Эта служба распределяет IP-трафик (протокола IP) в рамках кластеров. Применение метода балансировки нагрузки сети NLB повышает как отказоустойчивость, так и масштабируемость серверных интернет-программ, таких как веб-серверы, серверы потокового мультимедиа и службы терминалов. Эта служба может быть интегрирована в существующие инфраструктуры ферм веб-серверов. В таких распределенных средах веб-ферм служба NLB в будущем позволит также создавать совершенную архитектуру балансировки нагрузки при ее использовании совместно с системой Microsoft Application Center.

 

Балансировка нагрузки сети

Критически важные интернет-приложения, такие как системы финансового учета, базы данных, корпоративные интрасети и другие ключевые бизнес-приложения, должны бесперебойно и непрерывно функционировать 24 часа в сутки 7 дней в неделю. Сети должны обладать способностью масштабирования производительности для обработки большого количества клиентских запросов без нежелательных задержек. Кластерные технологии представляют интерес для крупных компаний. Кластеризация позволяет управлять группой независимых серверов как единой системой, что повышает отказоустойчивость, упрощает управление и позволяет добиться большей масштабируемости.

Служба кластеров предназначена для предотвращения сбоев критически важных бизнес-приложений, таких как базы данных, почтовые системы, службы печати и файловые службы. Служба балансировки нагрузки сети (БНС) обеспечивает распределение потока IP-данных между узлами кластера.

Технология распределения нагрузки обеспечивает масштабируемость и высокую отказоустойчивость таких служб, как веб-серверы, службы терминалов, прокси-серверы, виртуальные частные сети (VPN) и службы потокового мультимедиа-вещания. Применение технологии БНС особенно эффективно для корпоративных TCP/IP-служб, например приложений электронной коммерции, обеспечивающих взаимодействие клиента с транзактными приложениями и базами данных внутреннего уровня.

Серверы кластера, задействованные в балансировке нагрузки сети (называемые также узлами), работают совместно, позволяя добиться следующих преимуществ.

· Масштабируемость. Балансировка нагрузки сети обеспечивает масштабируемость производительности серверных приложений, таких как веб-сервер, распределяя клиентские запросы среди множества серверов, включенных в кластер. При увеличении потока поступающих данных в кластер можно добавить дополнительные серверы. Всего кластер может содержать до 32 серверов.

· Высокая отказоустойчивость. Служба БНС обеспечивает высокую отказоустойчивость, автоматически определяя сбой сервера и в течение 10 секунд перераспределяя поток данных от клиентов между оставшимися серверами, не прерывая обслуживание клиентских запросов.

Служба БНС распределяет поток данных по протоколу IP между несколькими копиями (или экземплярами) TCP/IP-службы (например, веб-сервера), каждая из которых выполняется на узле кластера. Эта служба прозрачно распределяет запросы клиентов между узлами и обеспечивает доступ к кластеру посредством одного или нескольких виртуальных IP-адресов.

С точки зрения клиента кластер представляется единым сервером, обрабатывающим поступающие запросы. При увеличении потока данных сетевые администраторы могут просто включить в кластер дополнительные серверы.

Например, типична совместная работа серверов в составе кластера для обработки потока данных, поступающих из интернета. Например, на каждом сервере кластера выполняется Internet Information Server (IIS), а служба БНС распределяет между этими серверами сетевую нагрузку. Это повышает скорость обработки запросов, благодаря чему подключенные через интернет клиенты быстрее получают данные в ответ на свои запросы. Для повышения отказоустойчивости системы серверное приложение (например, база банных) может функционировать на двухузловом кластере под управлением службы кластеров.

Полностью распределенная структура программной службы балансировки нагрузки сети позволяет обеспечивать наилучшую производительность при распределении нагрузки и высокую отказоустойчивость системы.

Описание работы службы БНС

Служба балансировки нагрузки сети обеспечивает масштабируемость производительности серверных приложений, таких как веб-сервер, распределяя клиентские запросы среди множества серверов, включенных в кластер. При использовании службы БНС каждый входящий IP-пакет передается каждому узлу, однако обрабатывается только выбранным узлом-получателем. При этом узлы кластера одновременно обрабатывают запросы разных клиентов или даже разные запросы одного клиента.

К примеру, веб-обозреватель при загрузке одной страницы может получать несколько изображений с различных узлов кластера, в котором нагрузка распределяется службой БНС. Такой механизм ускоряет обработку и снижает время отклика на запросы клиентов.

Для каждого узла, участвующего в распределении нагрузки, можно указать долю нагрузки, которую тот будет обрабатывать (в процентах); в противном случае нагрузка будет равномерно распределяться между узлами. При указании процента нагрузки каждый сервер отбирает и обрабатывает заданную долю суммарной нагрузки сети. Запросы клиентов статистически распределяются между узлами, чтобы каждый сервер обрабатывал свою часть клиентских запросов. Это распределение нагрузки динамически изменяется при включении в кластер нового узла или выводе из кластера функционирующего узла. В данной версии службы распределение нагрузки не изменяется при изменении параметров нагрузки сервера (например, использования центрального процессора или памяти). Для приложений с большим количеством клиентов и порождаемых ими коротких запросов (таких как веб-серверы) функция статистического сопоставления службы БНС обеспечивает эффективную балансировку нагрузки и быструю реакцию на изменение состава узлов кластера.

Каждый сервер кластера под управлением службы балансировки нагрузки рассылает ритмические сообщения другим узлам и принимает такие же сообщения от других членов кластера. При сбое сервера оставшиеся узлы перераспределяют нагрузку, обеспечивая непрерывное обслуживание клиентов. Несмотря на то, что данные существующих подключений к выбывшему узлу теряются, интернет-службы остаются доступными для всех клиентов. В большинстве случаев (например, при балансировке нагрузки веб-серверов) программное обеспечение на стороне клиента автоматически повторяет подключения, закончившиеся сбоем, и сбой отражается на клиенте только в виде короткой задержки отклика на запрос.


Дата добавления: 2018-05-13; просмотров: 3187; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!