Бакалавриат
2025/2026



Сервис-ориентированные архитектуры
Статус:
Курс по выбору (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 3, 4 модуль
Онлайн-часы:
20
Охват аудитории:
для своего кампуса
Преподаватели:
Син Денис Дмитриевич
Язык:
английский
Кредиты:
4
Контактные часы:
80
Course Syllabus
Abstract
В рамках этого курса вы познакомитесь с ключевыми подходами к организации веб-сервисов, а также ключевыми подходами к формированию API. Также, мы рассмотрим, как развитие сервис-ориентированных систем на базе облачных решений привело к появлению микросервисного подхода. Рассмотрим паттерны проектирования сервисов, подходы к отказоустойчивости и масштабируемовсти.
Learning Objectives
- Знать понятие сервис-ориентированной архитектуры (СОА) и базовые свойства распределённых систем.
- Знать отличия монолитной и микросервисной архитектуры и уметь выбирать подход под задачу.
- Знать технологии интеграций: REST, gRPC; уметь разрабатывать сервисы на их основе.
- Знать особенности использования реляционных БД в распределённых системах и подходы к проектированию данных.
- Знать типы NoSQL, основы OLAP и DWH, понимать, где применять различные хранилища.
- Знать стратегии кэширования (TTL, LRU, write-through и др.) и уметь применять их на практике.
- Знать ключевые концепции DDD (Bounded Context, Aggregate, Events) и уметь использовать их для декомпозиции.
- Уметь анализировать бизнес-требования и принимать архитектурные решения на их основе.
- Знать особенности асинхронных интеграций и брокеров сообщений; уметь строить взаимодействие через очереди.
- Знать паттерны асинхронных взаимодействий: Saga, Outbox, Event Sourcing, CQRS.
- Знать механизмы отказоустойчивости (retry, circuit breaker, fallback, bulkhead) и уметь их применять.
- Знать подходы Observability: метрики, логи, трассировки, и уметь проектировать наблюдаемость сервисов.
- Знать основы CI/CD и принципы сборки и деплоя микросервисов.
- Знать методы безопасности СОА: OAuth2, JWT, mTLS, и подходы к тестированию микросервисов.
- Знать ключевые паттерны микросервисной архитектуры: API Gateway, Service Mesh, Message Queue; уметь выбирать подходящие решения под требования.
Expected Learning Outcomes
- Знание ключевых паттернов организации микросервисной архитектуры: API Gateway, Service Mesh, Message Queue, Event Sourcing.
- Умеет принимать решения об архитектуре системы в зависимости от требований.
- Знает особенности организации связи на основе протоколов TCP и UDP.
- Знает особенности обеспечения безопасности СОА: технологии OAuth, JSON Web Token.
Course Contents
- Введение в SOA.
- Монолиты vs Микросервисы
- Интеграции и REST API + RPC/gRPC
- Базы данных
- NoSQL + OLAP + DWH
- Кэширование
- DDD и межсервисное взаимодействие
- Требования + бизнес + работа в IT-команде
- Интеграции: async, брокеры сообщений
- Паттерны асинхронных интеграций
- Отказоустойчивость
- Observability
- Build & Deploy
- Безопасность + Тестирование микросервисов
- Паттерны проектирования
Bibliography
Recommended Core Bibliography
- Современный подход к программной архитектуре: сложные компромиссы. - 978-5-4461-2024-6 - Форд Нил, Ричардс Марк, Садаладж Прамод, Дехгани Жамак - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/391724 - 391724 - iBOOKS
Recommended Additional Bibliography
- Создание микросервисов - 978-5-496-02011-4 - Ньюмен С. - 2016 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/351337 - 351337 - iBOOKS