Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Распределенные информационные системы.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

2.2. Открытость

Открытая РС (open distributed system) – это система, предлагающая службы, вызов которых требует стандартные синтаксис и семантику. Например, в сетях формат сообщений должен соответствовать протоколам.

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

Открытые РС должны иметь такие свойства как:

- Интероперабильность (способность к взаимодействию);

- Переносимость (из одной системы в другую без изменения интерфейсов);

- Гибкость – легкость конфигурирования системы, состоящей из разных компонентов. То есть РС должна быть расширяемой программно и аппаратно.

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

2.3. Масштабируемость (возможность расширения)

Масштабируемость системы может измеряться по трем разным показателям:

  1. размер – легкость подключения к ней новых пользователей и ресурсов;

  2. площадь – пользователи и ресурсы могут быть разнесены в пространстве;

  3. управление – система проста в управлении при работе во многих административно независимых организациях.

Эта характеристика РС может снижать производительность.

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

В качестве примеров ограничения масштабируемости можно привести:

  1. Один сервер на всех пользователей

  2. Единый телефонный справочник, доступный в режиме подключения

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

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

Технологии масштабирования.

Основные технологии: сокрытие времени ожидания связи, распределение и репликация.

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

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

Особенно это касается проверки данных на форме, т.е. эффективнее переместить на сторону клиента проверку данных всех полей формы.

2. Распределение. Предполагает разбиение компонентов на более мелкие части с последующим их распределением в системе. Пример – система доменных имен Интернета (DNS). Пространство DNS организовано иерархически в виде дерева доменов (domains) разбитых на зоны (по странам и областям деятельности). Имена каждой зоны обрабатываются отдельным сервером имен.

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

Второй пример – Web. Каждый документ имеет уникальное имя URL. Физически среда Web разнесена по многим серверам. Имя сервера, содержащего конкретный документ, определяется по его URL-адресу. Это позволяет наращивать количество документов без потери производительности.

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

Особую форму репликации представляет собой кеширование (caching). Хотя отличия между ними незначительны. Как и при репликации, результатом кеширования является создание копии ресурса, обычно в непосредственной близости от клиента. В отличие от репликации кеширование – это действие, предпринимаемое со стороны клиента, а не сервера.

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

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

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