
- •Структура методы и принципы функционирования распределённых информационных систем (1-62с.) План
- •17.1. Транспортные протоколы…….60
- •1. Понятие распределенных информационных систем, принципы их создания и функционирования
- •2. Территориально распределённые компьютерные системы
- •3. Типовые компоненты информационной системы
- •4.Два типа сетей.
- •Одноранговые системы.
- •Системы на основе сервера.
- •Специализированные серверы
- •2. Серверы приложений.
- •3. Почтовые серверы
- •4. Факс-серверы
- •5. Коммуникационные серверы
- •5. Понятие распределенной информационной системы
- •6. Основные задачи распределенной обработки
- •6.1. Прозрачность
- •6.2. Открытость
- •6.3. Масштабируемость (возможность расширения)
- •7. Проблемы масштабируемости
- •8. Технологии масштабирования.
- •8.3. Репликация (дублирование).
- •9. Концепции аппаратных решений
- •10. Концепции программных решений
- •10.1. Модели промежуточного уровня.
- •10.2. Службы (сервисы) промежуточного уровня
- •11. Промежуточный уровень и открытость.
- •12. Технологии обработки информации в распределенных системах
- •1.Технология “хозяин-слуга”:
- •13. Модель Клиент-сервер
- •14. Модели взаимодействия компонентов рис
- •14.1. Понятие промежуточной среды
- •15. Сетевые протоколы
- •1. Физический
- •2. Канальный .
- •16. Программное обеспечение
- •17. Эталонная модель взаимодействия открытых систем
- •17.1. Транспортные протоколы.
- •18. Алгоритм выполнения уровневых процедур
- •Возможные значения полей пакета
- •19. Соответствие модели osi и других моделей сетевого взаимодействия
- •Семейство tcp/ip
- •Семейство ipx/spx
- •20. Понятие промежуточной среды
8. Технологии масштабирования.
Поскольку проблемы масштабируемости в распределенных системах, такие как проблемы производительности, вызываются ограниченной мощностью серверов и сетей,
Существуют три основные технологии масштабирования:
сокрытие времени ожидания связи,
распределение
репликация.
8.1. Сокрытие времени ожидания связи применяется в случае географического масштабирования.
Основная идея – постараться избежать ожидания ответа на запрос от удаленного сервера.
Это означает разработку приложения-клиента с использованием асинхронной связи.
При получении ответа, приложение-клиент прервет свою работу и вызовет специальный обработчик для завершения отправленного ранее запроса. Асинхронная связь используется в системах пакетной обработки и параллельных приложениях, в которых во время ожидания одной задачей завершения связи предполагается выполнение других независимых задач.
Во многих задачах приложения не могут эффективно использовать асинхронную связь. Например, в задачах интерактивной обработки с использованием форм. В этих случаях для сокращения объема взаимодействия часть вычислений, которые обычно выполняются на стороне сервера, обычно перемещают на сторону клиента.
Особенно это касается проверки данных на форме, т.е. эффективнее переместить на сторону клиента проверку данных всех полей формы.
Перенос кода на сторону клиента в настоящее время поддерживается в Web с помощью включения кода программы на JavaScript. Асинхронное взаимодействие клиента и сервера в Web-приложениях реализуется в настоящее время технологией AJAX.
8.2. Распределение.
Предполагает разбиение компонентов на более мелкие части с последующим их распределением в системе.
Пример – система доменных имен Интернета (DNS).
Пространство DNS организовано иерархически в виде дерева доменов (domains) разбитых на зоны (по странам и областям деятельности). Имена каждой зоны обрабатываются отдельным сервером имен.
Получается, что служба доменных имен распределена по нескольким серверам, что позволяет избежать обработки всех запросов одним сервером.
Второй пример – Web.
Каждый документ имеет уникальное имя URL. Физически среда Web разнесена по многим серверам. Имя сервера, содержащего конкретный документ, определяется по его URL-адресу. Это позволяет наращивать количество документов без потери производительности.
8.3. Репликация (дублирование).
Применение репликации повышает доступность ресурсов, а также помогает выравнивать нагрузку компонентов, что ведет к улучшению производительности.
Кроме того, в географически распределенных системах репликация (в виде близко лежащей копии) помогает уменьшить проблему ожидания связи.
Особую форму репликации представляет собой кеширование (caching). Хотя отличия между ними незначительны.
Как и при репликации, результатом кеширования является создание копии ресурса, обычно в непосредственной близости от клиента.
В отличие от репликации, кеширование – это действие, предпринимаемое со стороны клиента, а не сервера.
Поскольку при репликации и кешировании создаются копии ресурса, модификация одной копии делает ее отличной от остальных.
Проблемы масштабируемости - проблема непротиворечивости ресурса. На масштабируемость может плохо повлиять один существенный недостаток кэширования и репликации.
Поскольку мы получаем множество копий ресурса, модификация одной копии делает ее отличной от остальных. Соответственно, кэширование и репликация вызывают проблемы непротиворечивости (consistency). Допустимая степень противоречивости зависит от степени загрузки ресурсов. Так, множество пользователей Web считают допустимым работу с кэшированным документом через несколько минут после его помещения в кэш без дополнительной проверки. Однако существует множество случаев, когда необходимо гарантировать строгую непротиворечивость. Например, при игре на электронной бирже Проблема строгой непротиворечивости ресурса состоит в немедленном распространении изменений во все копии.
При одновременном изменении двух или более копий необходимо строго соблюдать порядок внесения изменений во все копии. Практически обеспечить это бывает довольно сложно, а иногда – невозможно.
Это означает, что репликация может включать и отдельные не масштабируемые решения.