Содержание
- 2. План занятия Модели распределенных систем Архитектура распределенных систем Слои и уровни Возможные архитектурные решения
- 3. Модели распределенных систем Модели архитектуры Физическое размещение компонентов между узлами Взаимодействие между компонентами Другие модели Формальное
- 4. Модели архитектуры Модель архитектуры распределенной системы должна содержать решение двух проблем: физическое размещение компонентов между узлами
- 5. Модели архитектуры Реальные функции отдельных компонентов не указываются Указываются: Расположение (размещение по узлам) Шаблоны распределения данных
- 6. Архитектура Определяет разделение системы на наиболее крупные составные части Определяет конструктивные решения, которые после их принятия
- 7. Основные принципы архитектуры Согласованность Частичное знание системы позволяет предсказать остальное Ортогональность Функции независимы и специфицированы по
- 8. Основные принципы архитектуры Прозрачность Функции должны быть известны пользователю Общность Если функция должна быть введена, ее
- 9. Преодоление сложности Использование паттернов проектирования Разделение системы на слои (расслоение)
- 10. Типовые решения – паттерны проектирования Кристофер Александер (Christopher Alexander): Каждое типовое решение описывает некую повторяющуюся проблему
- 11. Структура типовых решений Название решения Назначение (аннотация) Мотивация, применимость Принцип действия (структура, участники, отношения) Результаты Реализация
- 12. ПРАВИЛО ДОБАВЛЕНИЯ КОСВЕННОСТИ Если есть проблема – введите посредника, т.е. вместо прямого взаимодействия используйте косвенное
- 13. Слои Основная идея: независимость нижележащих уровней от вышележащих Основная задача: уменьшать сложность систем, разделяя их на
- 14. Примеры подхода Архитектура сетевых протоколов Физический уровень Уровень соединения Сетевой уровень Транспортный уровень Сеансовый уровень Уровень
- 15. Монолитная система Логика представления Бизнес-логика Логика доступа к данным
- 16. Двухслойная система Логика представления Бизнес-логика Логика доступа к данным
- 17. Трехслойная система Логика представления Бизнес-логика Логика доступа к данным
- 18. Три основных слоя Слои: представление (presentation) домен (domen) – предметная область, бизнес-логика работа с данными (data
- 19. Одноуровневая система Представление Домен Источник данных
- 20. Система клиент/сервер (двухуровневая)
- 22. Трехуровневая система Middleware
- 23. Middleware “Слой программного обеспечения, чья цель состоит в том, чтобы скрывать неоднородность и обеспечивать удобную модель
- 24. Сервисы Middleware Сервисы Именования Безопасности Транзакций Долговременного хранения Уведомления о событиях …
- 25. Основные парадигмы программирования Message Passing Client Server send() receive() Remote Procedure Call Client Server proc() Virtual
- 26. Требования к дизайну Требования, накладываемые обеспечением требуемой производительности Время отклика Производительность Балансировка нагрузки Использование кэширования и
- 27. Возможные архитектуры Клиент-сервер Модель предоставления услуг пулом серверов Модель прокси- и кэш- серверов Модель равных процессов
- 28. Модель клиент-сервер Наиболее распространенная и часто используемая модель архитектуры
- 29. Модель клиент-сервер Клиент Процесс, желающий получить доступ к данным, использует ресурсы и/или выполняет действия на удаленном
- 30. Модель «пул серверов»
- 31. Модель «пул серверов» Услуги могут обеспечиваться многими серверами Распределенные между серверами объекты Реплицированные объекты Увеличение производительности,
- 32. Модель с прокси-сервером
- 33. Модель с прокси-сервером Кэш: «близкая» копия наиболее часто используемых данных значительно повышает производительность большинства приложений Но
- 34. Равноправные процессы (P2P)
- 35. Равноправные процессы (P2P) Равные процессы: процессы, которые играют равные роли Никакого абсолютного различия между клиентом /
- 36. Вариации модели клиент-сервер Вариации возможны по следующим параметрам: Связь инициируется сервером Использование мобильного кода или мобильных
- 37. Мобильный код Мобильный код: код, посланный процессу клиента, чтобы выполнить его же задачу
- 38. Мобильные агенты Выполнение программы (код + данные), которая перемещается между узлами в сети Выполняет автономную задачу
- 39. Тонкие клиенты
- 40. Тонкие клиенты Аппаратные (сетевые компьютеры, network computers) Все файлы сохраняются на удаленном носителе Минимум локального программного
- 41. Итоги Использование модели слоев для снижения сложности системы Middleware обеспечивает дополнительное удобство и дополнительные сервисы Выбор
- 42. Спасибо за внимание!
- 44. Скачать презентацию