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

Технологии разработки распределенных приложений

  1. Понятие распределенных технологий. Клиент-серверное приложение. Критерии разделения функций. Требования к распределенным приложениям. Примеры глобальных распределённых проектов.

Основные понятия

Клиент-серверное приложение – это приложение, в котором функции распределены как минимум между двумя компонентами: клиент и сервер.

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

Клиент – это приложение, которое обслуживается у сервера.

Распределенные данные и вычисления

Свойства распределенных систем:

  1. Распределение функций между клиентом и сервера

  2. Двунаправленное взаимодействие клиента и сервера

  3. Взаимодействие по инициативе клиента

  4. Сервер управления ресурсами и осуществляет их бесконфликтное использование

Взаимодействие в распределенных системах может быть синхронное и асинхронное.

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

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

Проблемы, возникающие при разработке распределенных систем

1) выделение ф-ий и распределение их между узлами сети.

Критерии расп. ф-ий:

*балансировка загрузки (статическая и динамическая)

*по выполняем задачам сервера.

*мимнимазация трафика в сети.

*безопасность.

2) распределение данных между узлами сети.

*централизованный ("+" безопастность, все данные в одном узле, простота в администрировании)

("-" - перегрузка)

*децентрализованный (данные должны быть приближенны к местам их обработки)

Требования к расп. приложениям.

1) Открытость (все протоколы взаимодействия компонент расп. системы - стандартизованны).

2) Масштабируемость. (добавление компонент, распределение ресурсов сервера).

3) Поддержка логической целостности данных. (запрос либо выполняется, либо нет).

4) Устойчивость. (Возможность дублирования серверами одних и тех же ф-ий).

5) Безопасность.(каждыйй компонент расп. системы д.б. уверен, что его ф-иями пользуются авторизованный пользователь либо компонент).

6) Эффективность. (минимизация накл. расходов связанную с распределенным характером системы)

  1. Модели распределенных систем: функции клиента и сервера. Архитектура распределенных приложений.

Файл-сервер

Функции:

  • Предоставление доступа к данным

  • Бизнес-логика

  • Предоставление пользовательского интерфейса

Недостатки: трафик большого объема данных – неэффективно.

Преимущества:

  • Несколько Клиентов

  • Безопасность

Сервер баз данных (двухзвенная архитектура)

Преимущества:

  • Меньше трафик

  • Меньше объема передаваемой информации

  • Меньше функций у Клиента

Недостатки

  • Увеличение нагрузки на Сервер – Сервер становится «узким местом»

  • Небольшие изменения бизнес-логики влекут за собой необходимость изменений на всех Клиентах ПП.

Сервер приложений (трехзвенная архитектура)

Одна из модификаций – активная БД, использующая триггеры и хранимые процедуры.

Преимущества:

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

  • Гибкость

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

  1. Клиент, например, средство ввода (терминал)

Недостатки:

  • Поклиентское обслуживание – нагрузка на Сервер

  • ПП никак не взаимодействуют – сложность коммуникации

  • Слаборазвитость методов для разделения общих ресурсов

  1. Диспетчер отвечает за поддержку сеанса с пользователем.

Преимущества: возможность коммуникации – методы для реализации разделения доступа к общим ресурсам

Недостатки: диспетчер – «узкое место»

  1. С развитием сетей появляется необходимость балансировки загрузки.

Хранение на Сервере и на Клиенте

Особенности:

  • Распределение функций между Серверами

  • Необходимо знать распределение каждого Сервера

Недостатки: при появлении нового Сервера необходимо сообщить Клиентам о нем – сложность масштабируемости

  1. На каждом Сервере или Клиенте хранится информация только о диспетчере. Появилась возможность балансировки загрузки.

Преимущества: масштабируемость.

Недостатки: большая нагрузка на диспетчер.

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