🎻 Оркестрация микросервисов: полный практический гайд + материалы 📚
Оркестрация – это подход, при котором специальный сервис-оркестратор управляет группой микросервисов (МС).
👉 Оркестратор:
1. знает какие сервисы вызвать по API (обычно REST / gRPC)
2. в каком порядке
3. работает с условиями, сложными алгоритмами
4. если что-то пойдёт не так, то он "откатит" операцию на всех МС, которые уже были вызваны
Так сложный процесс превращается в цепочку задач. А Оркестратор следит за их выполнением.
👉 Как работает оркестратор
на примере Интернет-магазина:
1. Покупатель оформляет заказ через Web-приложение
2. Web-приложение отправляет запрос в API Gateway
POST .../orders
3. API Gateway маршрутизирует запрос на Оркестратор
4. Оркестратор присваивает id новой операции и вызывает API сервиса заказов
5. Сервис Заказов создает новый заказ в БД.
Результат - в Оркестратор
6. Оркестратор вызывает сервис Склада, чтобы зарезервировать товар
7. Склад подтверждает резерв или сообщает об отсутствии товара.
Результат - в Оркестратор
8. Оркестратор вызывает сервис Доставка для оформления отправления
9. Сервис доставки рассчитывает маршрут и время доставки, оформляет доставку.
Результат - в Оркестратор
10. Оркестратор вызывает сервис Уведомлений для отправки email/SMS о подтверждении заказа и доставке
11. Сервис Уведомлений выполняет отправку.
Результат - в Оркестратор
12. Оркестратор отправляет итоговый ответ в API Gateway, откуда он возвращается в Web-приложение
🔹Оркестратор вызывает API сервисов и ждёт ответ.
🔹Он может сохранять состояние процесса, чтобы возобновить его при сбое.
🔹 Если что-то идёт не так, оркестратор выполнит компенсации - откатит выполненные шаги.
📦 Готовые решения для оркестрации:
▫️ Camunda – BPM-движок с поддержкой диаграмм процессов (BPMN)
▫️ OpenBPM - аналог Camunda в России
📚 Подборка материалов:
🎧 Camunda и BPMN в микросервисах для процессов техподдержки
📝 Оркестрация и API Gateway – разбор реального примера
🎧 Внедряем Camunda: обзор и моделирование BPMN
#АрхитектураGA
Post #3139
5.17K

- 🔥 24
- ❤ 12
- 👍 4