Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema3.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
423 Кб
Скачать
☆

3.1. Тенденции и перспективы развития распределенных операционных сред

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

Распределенные приложения могут обладать рядом преимуществ по сравнению с локальными:

  • более высокая производительность;

  • отказоустойчивость;

  • масштабируемость;

  • приближение к пользователю.

Следует выделить три основных параметра организации работы приложений в сети:

  • способ разделения приложения на части, выполняющиеся на разных компьютерах сети;

  • выделение специализированных серверов в сети, на которых выполняются некоторые общие для всех приложений функции;

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

3.1.1. Модели сетевых служб и распределенных приложений

Существуют типовые модели распределенных приложений, в которых приложение делится на шесть функциональных частей:

  • средства представления данных на экране, например средства графического пользовательского интерфейса;

  • логика представления данных на экране, которая описывает правила и возможные сценарии взаимодействия пользователя с приложениями: выбор из системы меню, выбор элемента из списка и т. д.;

  • прикладная логика – набор правил для принятия решений, вычислительные процедуры и операции;

  • логика данных – операции с данными, хранящимися в некоторой базе, которые нужно выполнить для реализации прикладной логики;

  • внутренние операции базы данных – действия СУБД (системы управления базами данных), вызываемые в ответ на выполнение запросов логики данных, такие как поиск записи по определенным признакам;

  • файловые операции – стандартные операции над файлами и файловой системой, которые обычно являются функцией операционной системы.

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

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

На рис. 3.1 представлены варианты распределения частей приложения по двухзвенной схеме (между двумя компьютерами).

Рис. 3.1. Варианты распределения частей приложения по двухзвенной схеме

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

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

Основные недостатки: слабая масштабируемость (количество одновременно работающих пользователей определяется производительностью сервера) и низкая отказоустойчивость.

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

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

Недостатки: возрастает сетевая нагрузка, что приводит к увеличению времени реакции приложения; клиентский компьютер должен обладать производительностью, достаточной для работы всех приложений

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

Система управления базами данных (СУБД) является одним из наиболее часто применяемых в сетях распределенных приложений.

Термин «клиент-сервер» справедлив для любой двухзвенной схемы распределения функций, но исторически он чаще применяется для варианта, в котором сервер выполнял функции по управлению базами данных и поэтому часто используется как синоним этой схемы.

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

Рис. 3.2. Вариант трехзвенной схемы распределения частей приложения

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]