Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ОПЕРАЦИОННЫЕ СИСТЕМЫ
Посмотреть оригинал

Архитектура распределенных систем

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

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

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

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

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

В настоящее время для разгрузки серверов применяют промежуточное звено — сервер приложений (Application Serve, AS). Он забирает на себя функции связи с клиентом с одной стороны, а с другой — часть бизнес-правил со стороны сервера баз данных. При этом происходит как существенная разгрузка серверов БД, так и упрощение клиентской части приложений. Фактически на стороне клиента остается только графическая часть (GUI) приложения. Такой подход называется трехзвеиной клиент-серверной архитектурой, или «тонким клиентом», так как разрыв соединения с клиентской частью не приводит к нарушениям работы приложений. При этом стараются, чтобы связь между серверами была организована но технологии «толстого клиента» (т.е. без повторной аутентификации и проверки прав клиентской части).

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

Одним из аппаратно-программных решений, по которому с клиентской машины совсем убирается клиентская часть приложения, приводит к тому, что роль клиента играет стандартный браузер. При этом для организации работы необходим еще один сервер — веб-сервер, который размещается обычно на одной машине с сервером приложений. В этом случае принято говорить о четырехзвенной структуре «клиент-сервер».

 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы