Українська
Тема 18. Архітектура мікросервісів: декомпозиція системи, API-шлюз, узгодженість даних (Saga, Outbox) та спостережуваність
Мета: ознайомитися з принципами мікросервісної архітектури, декомпозицією системи за обмеженими контекстами, патернами API-шлюзу, Saga, Transactional Outbox та Inbox; навчитися будувати застосунок із кількох сервісів з власними базами даних в Aspire, налаштовувати API-шлюз YARP з маршрутизацією, автентифікацією JWT, обмеженням частоти й агрегацією, реалізовувати саги з компенсувальними діями та ідемпотентних споживачів подій RabbitMQ; опанувати стратегії стійкості (тайм-аути, повтори, запобіжник, деградація), розподілене трасування OpenTelemetry та інтеграційне тестування мікросервісів.
Зміст лекції
- Моноліт і декомпозиція на сервіси — Моноліт, модульний моноліт і мікросервіси · Декомпозиція системи на сервіси · Застосунок-приклад: інтернет-магазин Shop
- Взаємодія сервісів і API-шлюз — Взаємодія сервісів · API-шлюз і BFF · Виявлення сервісів і конфігурація
- Дані та патерн Saga — Дані в мікросервісах · Розподілені транзакції: патерн Saga
- Outbox, Inbox і стійкість — Transactional Outbox та Inbox · Стійкість взаємодії сервісів
- Спостережуваність, версіонування та розгортання — Спостережуваність · Версіонування API й тестування · Розгортання мікросервісів · Типові помилки