Разбор задач на проектирование систем 🚀 Канал для системных аналитиков, бизнес-аналитиков, тестировщиков и менеджеров проектов
Админ @getanalyst
Сайт https://getanalyst.ru
Чат t.me/getanalystchat
Начинающим в IT @getanalyststart
Post #3410
3.07K

🎷 Оркестрация микросервисов: от схемы к требованиям 🎷
Оркестрация – это подход, при котором специальный сервис-оркестратор выступает «дирижёром» для группы микросервисов (МС).
👉 Оркестратор централизованно управляет сложным бизнес-процессом:
1. знает какие сервисы вызвать по API (обычно REST / gRPC)
2. в каком порядке
3. работает с условиями, сложными алгоритмами
4. если что-то пойдёт не так, то он "откатит" операцию на всех МС, которые уже были вызваны
Так сложный процесс превращается в цепочку задач.
А единый центр контроля "Оркестратор" следит за их выполнением.
🔗 Подробная теория
👉 Как работает оркестратор
на примере Интернет-магазина:
1. Покупатель оформляет заказ через Web-приложение.
2. Web-приложение отправляет API-запрос на Backend, в API Gateway.
3. API Gateway маршрутизирует запрос на Оркестратор.
4. Оркестратор присваивает id новой операции и вызывает API сервиса заказов.
5. Сервис Заказов создает новый заказ в БД.
Результат - в Оркестратор.
6. Оркестратор вызывает сервис Склада, чтобы зарезервировать товар.
7. Склад подтверждает резерв или сообщает об отсутствии товара.
Результат - в Оркестратор.
8. Оркестратор вызывает сервис Доставка для оформления отправления.
9. Сервис доставки рассчитывает маршрут и время доставки, оформляет доставку.
Результат - в Оркестратор.
10. Оркестратор вызывает сервис Уведомлений, чтобы отправить покупателю уведомление (e-mail или SMS) о подтверждении заказа и деталях доставки.
11. Сервис Уведомлений выполняет отправку сообщений.
Результат - в Оркестратор.
12. Оркестратор отправляет итоговый ответ на запрос в API Gateway, откуда он возвращается в Web-приложение.
🔹 Оркестратор вызывает API сервисов и ждёт ответ.
🔹Он может сохранять состояние процесса, чтобы возобновить его при сбое.
🔹 Если что-то идёт не так, оркестратор выполнит компенсации - откатит выполненные шаги. Так что к написанному надо добавлять требования к обработке ошибок.
📦 Популярные решения для оркестрации:
▫️ Camunda – BPM-движок с поддержкой диаграмм процессов (BPMN).
▫️ OpenBPM - аналог Camunda в России.
#АрхитектураGA
📱 Tg | 💙 ВК | 💬 Max
Оркестрация – это подход, при котором специальный сервис-оркестратор выступает «дирижёром» для группы микросервисов (МС).
👉 Оркестратор централизованно управляет сложным бизнес-процессом:
1. знает какие сервисы вызвать по API (обычно REST / gRPC)
2. в каком порядке
3. работает с условиями, сложными алгоритмами
4. если что-то пойдёт не так, то он "откатит" операцию на всех МС, которые уже были вызваны
Так сложный процесс превращается в цепочку задач.
А единый центр контроля "Оркестратор" следит за их выполнением.
🔗 Подробная теория
👉 Как работает оркестратор
на примере Интернет-магазина:
1. Покупатель оформляет заказ через Web-приложение.
2. Web-приложение отправляет API-запрос на Backend, в API Gateway.
POST .../orders
3. API Gateway маршрутизирует запрос на Оркестратор.
4. Оркестратор присваивает id новой операции и вызывает API сервиса заказов.
5. Сервис Заказов создает новый заказ в БД.
Результат - в Оркестратор.
6. Оркестратор вызывает сервис Склада, чтобы зарезервировать товар.
7. Склад подтверждает резерв или сообщает об отсутствии товара.
Результат - в Оркестратор.
8. Оркестратор вызывает сервис Доставка для оформления отправления.
9. Сервис доставки рассчитывает маршрут и время доставки, оформляет доставку.
Результат - в Оркестратор.
10. Оркестратор вызывает сервис Уведомлений, чтобы отправить покупателю уведомление (e-mail или SMS) о подтверждении заказа и деталях доставки.
11. Сервис Уведомлений выполняет отправку сообщений.
Результат - в Оркестратор.
12. Оркестратор отправляет итоговый ответ на запрос в API Gateway, откуда он возвращается в Web-приложение.
🔹 Оркестратор вызывает API сервисов и ждёт ответ.
🔹Он может сохранять состояние процесса, чтобы возобновить его при сбое.
🔹 Если что-то идёт не так, оркестратор выполнит компенсации - откатит выполненные шаги. Так что к написанному надо добавлять требования к обработке ошибок.
📦 Популярные решения для оркестрации:
▫️ Camunda – BPM-движок с поддержкой диаграмм процессов (BPMN).
▫️ OpenBPM - аналог Camunda в России.
#АрхитектураGA
📱 Tg | 💙 ВК | 💬 Max
- ❤🔥 12
- ❤ 3
- 👍 1
















