Initial commit: Complete Software Architecture course with 11 modules
- Added comprehensive course structure with 11 modules - Included theoretical content, practical examples, and tasks - Multi-language code examples (Java, Rust, Node.js, Python) - Detailed analysis of architectural approaches and trade-offs - Complete caching strategies documentation - Architecture examples from real-world systems (Twitter, Netflix, Uber) - Structured navigation and learning path - Ready for educational use
This commit is contained in:
commit
15e744da49
107 files changed
+61762
No files matched your search
@@ -0,0 +1,102 @@
|
||||
# Модуль 2: Микросервисная архитектура
|
||||
|
||||
## Навигация
|
||||
- [🏠 Главная страница курса](../../README.md)
|
||||
|
||||
---
|
||||
|
||||
## Описание модуля
|
||||
|
||||
Этот модуль посвящен изучению микросервисной архитектуры - современного подхода к проектированию и разработке крупномасштабных распределенных систем. Студенты изучат принципы, паттерны и практики создания микросервисов, а также связанные технологии и инструменты.
|
||||
|
||||
## Содержание модуля
|
||||
|
||||
### 1. [Основы микросервисной архитектуры](sections/01-microservices-fundamentals.md)
|
||||
- Определение микросервисов
|
||||
- Принципы микросервисной архитектуры
|
||||
- Преимущества и недостатки
|
||||
- Когда использовать микросервисы
|
||||
|
||||
### 2. [Domain-Driven Design (DDD)](sections/02-domain-driven-design.md)
|
||||
- Стратегическое проектирование
|
||||
- Тактическое проектирование
|
||||
- Bounded Context и Context Map
|
||||
- Event Storming
|
||||
|
||||
### 3. [Коммуникация между сервисами](sections/03-service-communication.md)
|
||||
- Синхронная коммуникация (HTTP/REST, GraphQL)
|
||||
- Асинхронная коммуникация (Message Queues, Event Streaming)
|
||||
- Паттерны коммуникации
|
||||
- Service Discovery
|
||||
|
||||
### 4. [Управление данными в микросервисах](sections/04-data-management.md)
|
||||
- База данных на сервис
|
||||
- Saga Pattern
|
||||
- CQRS и Event Sourcing
|
||||
- Консистентность данных
|
||||
|
||||
### 5. [Serverless архитектура и FaaS](sections/05-serverless-architecture.md)
|
||||
- Основы Serverless
|
||||
- AWS Lambda, Azure Functions, Google Cloud Functions
|
||||
- Преимущества и недостатки
|
||||
- Паттерны использования
|
||||
|
||||
### 6. [Микрофронтенды](sections/06-microfrontends.md)
|
||||
- Принципы микрофронтендов
|
||||
- Архитектурные паттерны
|
||||
- Управление состоянием
|
||||
- Коммуникация между микрофронтендами
|
||||
|
||||
## Ключевые компетенции
|
||||
|
||||
После изучения модуля студенты будут уметь:
|
||||
|
||||
- Проектировать микросервисную архитектуру
|
||||
- Применять принципы DDD в микросервисах
|
||||
- Выбирать подходящие паттерны коммуникации
|
||||
- Управлять данными в распределенных системах
|
||||
- Использовать Serverless технологии
|
||||
- Создавать микрофронтенды
|
||||
|
||||
## Практические задания
|
||||
|
||||
1. **Проектирование микросервисов**
|
||||
- Разбить монолитное приложение на микросервисы
|
||||
- Определить границы сервисов
|
||||
- Спроектировать API
|
||||
|
||||
2. **Реализация коммуникации**
|
||||
- Создать REST API для синхронной коммуникации
|
||||
- Настроить асинхронную коммуникацию через очереди
|
||||
- Реализовать Service Discovery
|
||||
|
||||
3. **Управление данными**
|
||||
- Реализовать Saga Pattern
|
||||
- Настроить CQRS
|
||||
- Создать Event Store
|
||||
|
||||
4. **Serverless функции**
|
||||
- Создать AWS Lambda функции
|
||||
- Настроить триггеры
|
||||
- Реализовать обработку ошибок
|
||||
|
||||
5. **Микрофронтенды**
|
||||
- Создать базовую структуру микрофронтендов
|
||||
- Настроить коммуникацию между ними
|
||||
- Реализовать общее состояние
|
||||
|
||||
## Дополнительные ресурсы
|
||||
|
||||
- [Microservices.io](https://microservices.io/) - паттерны микросервисов
|
||||
- [Domain-Driven Design Reference](https://www.domainlanguage.com/ddd/reference/) - справочник по DDD
|
||||
- [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam/) - SAM для AWS
|
||||
- [Single-SPA](https://single-spa.js.org/) - фреймворк для микрофронтендов
|
||||
|
||||
## Критерии оценки
|
||||
|
||||
- Понимание принципов микросервисной архитектуры (25%)
|
||||
- Умение применять DDD (20%)
|
||||
- Навыки проектирования коммуникации (20%)
|
||||
- Знание паттернов управления данными (15%)
|
||||
- Опыт работы с Serverless (10%)
|
||||
- Понимание микрофронтендов (10%)
|
||||
Reference in new issue
Block a user