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




Сервис-ориентированные архитектуры
ID 1132937
Статус:
Курс обязательный (Компьютерные науки и анализ данных)
Кто читает:
Базовая кафедра Т-Банка
Где читается:
Факультет компьютерных наук
Охват аудитории:
для своего кампуса
Язык:
английский
Кредиты:
4
Контактные часы:
56
Course Syllabus
Abstract
В рамках этого курса вы познакомитесь с ключевыми подходами к организации веб-сервисов, а также ключевыми подходами к формированию API. Также, мы рассмотрим, как развитие сервис-ориентированных систем на базе облачных решений привело к появлению микросервисного подхода. Рассмотрим паттерны проектирования сервисов, подходы к отказоустойчивости и масштабируемовсти.
Learning Objectives
- Знать понятие сервис-ориентированной архитектуры (СОА) и базовые свойства распределённых систем.
- Знать отличия монолитной и микросервисной архитектуры и уметь выбирать подход под задачу.
- Знать технологии интеграций: REST, gRPC; уметь разрабатывать сервисы на их основе.
- Знать особенности использования реляционных БД в распределённых системах и подходы к проектированию данных.
- Знать типы NoSQL, основы OLAP и DWH, понимать, где применять различные хранилища.
- Знать стратегии кэширования (TTL, LRU, write-through и др.) и уметь применять их на практике.
- Уметь анализировать бизнес-требования и принимать архитектурные решения на их основе.
- Знать особенности асинхронных интеграций и брокеров сообщений; уметь строить взаимодействие через очереди.
- Знать паттерны асинхронных взаимодействий: Saga, Outbox, Event Sourcing, CQRS.
- Знать механизмы отказоустойчивости (retry, circuit breaker, fallback, bulkhead) и уметь их применять.
- Знать подходы Observability: метрики, логи, трассировки, и уметь проектировать наблюдаемость сервисов.
- Знать основы CI/CD и принципы сборки и деплоя микросервисов.
- Знать методы безопасности СОА: OAuth2, JWT, mTLS, и подходы к тестированию микросервисов.
- Знать ключевые паттерны микросервисной архитектуры: API Gateway, Service Mesh, Message Queue; уметь выбирать подходящие решения под требования.
- Знать устройство ИИ-агентов, уметь применять их в SDLC
Expected Learning Outcomes
- Знание ключевых паттернов организации микросервисной архитектуры: API Gateway, Service Mesh, Message Queue, Event Sourcing.
- Умеет принимать решения об архитектуре системы в зависимости от требований.
- Знает особенности организации связи на основе протоколов TCP и UDP.
- Знает особенности обеспечения безопасности СОА: технологии OAuth, JSON Web Token.
Course Contents
- Введение в SOA. Монолиты vs Микросервисы. DDD и межсервисное взаимодействие
- Интеграции и REST API
- RPC/gRPC+Websocket
- Базы данных
- NoSQL + OLAP + DWH
- Кэширование
- Требования + бизнес + работа в IT-команде
- Интеграции: async, брокеры сообщений
- Паттерны асинхронных интеграций
- Агенты в проектировании
- Отказоустойчивость
- Observability. Build & Deploy
- Безопасность + Тестирование микросервисов
- Паттерны проектирования
Assessment Elements
- Домашнее заданиеДомашнее задание 1 Спроектировать доменную архитектуру сервиса на основе готовых требований: выделить домены, определить границы, построить C4-диаграмму (10 баллов) Домашнее задание 2 Спроектировать REST основного сервиса: определить контракты, описать OpenAPI/Swagger и настроить кодогенерацию на основе спецификации. Разработать CRUD операции с наличием бизнес-логики. (10 баллов) Домашнее задание 3 Спроектировать gRPC API второго сервиса: определить контракты, описать proto файлы и настроить кодогенерацию на основе спецификации. Спроектировать архитектуру данных. Подключить базу данных PostgreSQL. (10 баллов) Домашнее задание 4 Определить стейкхолдеров и собрать функциональные и нефункциональные требования. (10 баллов) Домашнее задание 5 Реализовать сервис, который читает сообщения из Kafka: спроектировать AVRO контракт, настроить консьюмера, обработку входящих событий и логику реакции на них. Добавить взаимодействие с аналитической БД Clickhouse (10 баллов) Домашнее задание 6 Паттерны cirquit breaker, Outbox transaction, event sourcing, cqrs, тестирование. Домашнее задание 7 Кассандра + нагрузка + метрики для графаны + кластеры кассандра
- Экзамен
Bibliography
Recommended Core Bibliography
- Современный подход к программной архитектуре: сложные компромиссы. - 978-5-4461-2024-6 - Форд Нил, Ричардс Марк, Садаладж Прамод, Дехгани Жамак - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/products/391724 - 391724 - iBOOKS
Recommended Additional Bibliography
- Создание микросервисов - 978-5-496-02011-4 - Ньюмен С. - 2016 - Санкт-Петербург: Питер - https://ibooks.ru/products/351337 - 351337 - iBOOKS