Skip to content

Примеры для курса по архитектуре программных систем для магистратуры

License

Notifications You must be signed in to change notification settings

DVDemon/arch_lecture_examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Репозиторий содержит материалы по курсу Архитектура программных систем

Архитектура и процессы проектирования

  • Общие понятия архитектуры, термины, атрибуты качества программных систем. Процесс проектирования: сверху вниз и снизу вверх
  • Виды архитектур по организации модулей: монолитные (Layered architecture, Pipeline architecture, Microkernel architecture) и распределённые (Service-based architecture, Event-driven architecture, Space-based architecture, Service-oriented architecture, Microservices architecture).

Документирование архитектуры Architecture As A Code

  • Архитектурное описание. Вилы архитектурных представлений (Модули, Компоненты и связи, Размещение). ADR.
  • Нотации моделирования: C4
  • Architecture as a code: Structurizr DSL

Инструкция по настройке Structurizr

Микросервисы

  • Принципы SOA. Архитектурный стиль REST. Модель зрелости Ричардсона. Документирования API - OpenAPI
  • Докер. Namespaces, CGroups, UnionFS. Хранение данных в Docker – Volumes. Виды сетей. Основные команды. Dockerfile. Docker-compose.

Для выполнения работы мы будем использовать Devcontainer

Сервисы с состоянием

  • Виды индексов в реляционных СУБД. Индексы на B-деревьях. Кластерные и не кластерные индексы. Анализ запросов к данным в SQL. Партиционирование.
  • Шардирование. Виды шардирования. Scatter and gatherer. Паттерны (Умный клиент, Routing-proxy, Routing-координатор). Решардинг. Рандеву-шардирование. Плюсы и минусы шардирования.

Надежность и доступность

  • Типы сбоев и отказов. Расчет показателей доступности систем. Тактики обнаружения сбоя.Тактики восстановления после сбоя. Тактики предотвращения сбоя (Graceful degradation, прекращение обслуживания, игнорирование ошибки).
  • Репликация. Виды репликации по типу лидера. ACID Транзакции. Уровни изоляции транзакций.

Производительность программных систем

  • Единицы измерения производительности. Виды масштабирования. Управление потреблением ресурсов.
  • Виды распределенных кешей (distributed, replicated, sidecar cache). Предзагрузка кеша. Обновление данных кеша. Шаблон сквозное чтение и сквозная запись. Шаблон отложенная запись.

Событийно-ориентированная архитектура

  • Понятие событийно-ориентированной архитектуры. Свойства брокеров сообщений. Паттерн CQRS. Применение очередей: buffer dispatcher, transport, balancer.
  • Понятие событийно-ориентированной архитектуры. Брокеры сообщений: RabbitMQ и Apache Kafka – особенности и свойства.

About

Примеры для курса по архитектуре программных систем для магистратуры

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published