1.38M

Лекция 1

1.

РА С П Р Е Д Е Л Е Н Н Ы Е
СИСТЕМЫ
Лекция 1
АРХИТЕКТУРА И ОРГАНИЗАЦИЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ

2.

П О Н Я Т И Е РА С П Р Е Д Е Л Е Н Н О Й
СИСТЕМЫ
Распределенная система ― множество автономно работающих
компьютеров, связанных между собой последовательными
каналами связи, в качестве которых могут выступать, в частности,
локальные и глобальные сети. В одних случаях пользователь в
явном виде обращается к конкретному ресурсу, в том числе и
удаленному ресурсу. В других случаях использование
специального программного обеспечения позволяет пользователю
работать с удаленным вычислительным ресурсом.

3.

К Л А С С И Ф И К А Ц И Я РА С П Р Е Д Е Л Е Н Н Ы Х
СИСТЕМ

4.

ИСПОЛЬЗУЕМЫЕ ПРИ ПОСТРОЕНИИ
РС (1)

5.

ИСПОЛЬЗУЕМЫЕ ПРИ ПОСТРОЕНИИ
РС (2)

6.

АРХИТЕК ТУРНЫЙ СТИЛЬ ПОТОКИ
Д А Н Н Ы Х ( D ATA F L O W S Y S T E M S )
Поток данных поступает на вход первого элемента, который выполняет функции
фильтра, обрабатывается, и передается на вход второго элемента (фильтра) т.д.
Система работает в конвейерном режиме, т.е. обработка следующего набора
данных может начинаться сразу после того, как ступень конвейера освободилась.
Движение данных по конвейеру однонаправленное.

7.

РЕПЛИКАЦИЯ
Репликация репозитория (Replicated Repository, RR): для повышения показателя
доступности и масштабируемости для реализации одного и того же сервиса
используется несколько процессов.
Кэши (Cache): с целью уменьшения нагрузки на сервер и уменьшения задержек
целесообразно запоминать (кэшировать) результаты запросов.
Пассивный (ленивый, lazy) кэш просто запоминает результаты запросов.
Активный кэш пытается угадать какие данные потребуются пользователю.

8.

И Е РА Р Х И Ч Е С К И Е С И С Т Е М Ы
• Клиент-серверные системы,
• Многослойные системы,
• Многослойные клиент-серверные системы,
• Сервер без сохранения состояния,
• Сервер без сохранения состояния с кэшированием на стороне клиента,
• Удаленная сессия,
• Удаленный доступ к данным.

9.

КЛИЕНТ-СЕРВЕРНЫЕ СИСТЕМЫ

10.

МНОГОСЛОЙНЫЕ СИСТЕМЫ

11.

С Е Р В Е Р Б Е З С О Х РА Н Е Н И Я
СОСТОЯНИЯ
Каждый запрос содержит всю необходимую информацию для выполнения
запроса, что позволяет серверу не запоминать информацию о выполненных
запросах. Это очень упрощает структуру сервера, но ограничивает его
функциональные возможности и в ряде случаев усложняет клиентскую часть
приложения.

12.

СО СТОЯ Н И Я С К Э Ш И РО ВА Н И Е М Н А
СТО Р О Н Е К Л И Е Н ТА
Ответы сервера на запросы клиента запоминаются в кэше на стороне клиента.
Клиент всегда сначала обращается к собственному кэшу, а если не находит там
требуемых данных, то тогда обращается к серверу.
Дальнейшим развитием стиля Сервер без сохранения состояния с кэшированием
на стороне клиента является стиль Многослойный сервер без сохранения
состояния с кэшированием. Этот стиль является комбинацией 3 ранее
рассмотренных стилей: Многослойные клиент-серверные системы, Сервер без
сохранения состояния и кэши.

13.

УД А Л Е Н Н А Я С Е С С И Я

14.

УД А Л Е Н Н Ы Й Д О СТ У П К Д А Н Н Ы М

15.

О Д Н О РА Н Г О В Ы Е С И С Т Е М Ы
• С2,
• Системы, управляемые событиями,
• Распределенные объекты,
• Брокеры распределенных объектов.

16.

С2 (COMPONENTS AND
CONNECTORS)
ИС строятся из некого конструктора, включающего множество совместимых
друг с другом элементов и коннекторов. Обычно это системы, основанные на
обмене сообщениями.

17.

С И С Т Е М Ы , У П РА В Л Я Е М Ы Е
СОБЫТИЯМИ
Отдельные подсистемы обмениваются сообщениями, причем сообщения могут
быть широковещательные. Отдельные подсистемы могут выражать
заинтересованность в получении событий, относящимся к определенным
классам.

18.

РА С П Р Е Д Е Л Е Н Н Ы Е О Б Ъ Е К Т Ы
Система состоит из множества компонентов, которые могут взаимодействовать
друг с другом. Каждые объект инкапсулирует данные, которые описывают
состояние объекта и набор методов, с помощью которых можно получить доступ
к данным. Можно считать, что состояние системы определяется как
совокупность состояний объектов. Объекты могут находиться на одном или
разных компьютерах.

19.

Б Р О К Е Р Ы РА С П Р Е Д Е Л Е Н Н Ы Х
ОБЪЕК ТОВ
Дальнейшее развитие стиля Распределенные объекты.
Появление рассматриваемого стиля вызвано тем, что по мере усложнения систем
распределенных объектов стала очевидна необходимость создание некоторого
промежуточного программного обеспечения, которое взяло бы на себя все
черновую работу, такую как нахождение объектов, создание объектов,
сохранение состояния объектов.
Обращение идет не к самому объекту а брокеру, который может найти объект по
имени, если объект еще не создан, то создать его и т.п. Этот стиль был очень
популярен в конце девяностых и начале нулевых годов.

20.

МОБИЛЬНЫЙ КОД
• Виртуальные машины,
• Удаленное выполнение,
• Код по запросу,
• Многослойный код по запросу с сервером без сохранения состояния и
кэшированием,
• Мобильные агенты.

21.

В И Р Т УА Л Ь Н Ы Е М А Ш И Н Ы
Этот стиль обычно использует совместно с 4 другими стилями данной группы.

22.

УД А Л Е Н Н О Е В Ы П ОЛ Н Е Н И Е
= Клиент-сервер + Виртуальные машины.
Используется, если на стороне клиента недостаточно ресурсов для выполнения
сгенерированного кода.
Идея состоит в том, что клиент посылает код на сервер, он выполняется, а
результат пересылается клиенту. Обычно выполнение кода на сервере
выполняется в некотором контейнере, при этом доступ исполняемого кода к
ресурсам сервера ограничен.

23.

КОД ПО ЗАПРОСУ
Код пересылается по сети, выполняется на сервере, а результат передается
клиенту.
Разница состоит в том, что при использовании стиля код по запросу, сервер,
получив запрос от клиента, запрашивает необходимый для выполнения код.
Обычно требуемый код хранится на еще одном сервере.

24.

МНОГОСЛОЙНЫЙ КОД ПО ЗАПРОСУ С
С Е Р В Е Р О М Б Е З С О Х РА Н Е Н И Я
СО СТОЯ Н И Я И К Э Ш И РО ВА Н И Е М
= Код по запросу + Сервер без сохранения состояния + Кэши.
Примером может служить браузер в который с сервера загружаются различные
плагины, расширяющие его функциональность

25.

МОБИЛЬНЫЕ АГЕНТЫ
Некоторый фрагмент кода перемещается от одного компьютера к другому,
сохраняя свое состояние.
Если объем кода небольшой, а объем обрабатываемых данных очень большой, то
можно резко сократить объем пересылок.
Стиль может быть использован для балансировки нагрузки между серверами.
Если один сервер в сети является перегруженным, а другой недогруженным, то
одно или несколько приложений могут мигрировать с перегруженного на
недогруженный сервер.

26.

С О О Т В Е Т С Т В И Я М Е Ж Д У П А РА Д И Г М А М И И
СЕТЕВЫМИ АРХИТЕК ТУРНЫМИ СТИЛЯМИ
English     Русский Rules