Коли один процес торкається 3–5 систем
Погодження, інвойси, оплата, доставка, документи — це довгі процеси. Якщо виконувати їх “в одному запиті”, ви отримаєте таймаути і напівзавершені стани. Тут потрібна orchestration і компенсації.
1) Orchestration vs choreography
- Orchestration: є “двигун” процесу, який викликає кроки і зберігає стан.
- Choreography: сервіси реагують на події, без центрального керування.
2) Saga і компенсації
- Кожен крок має або виконання, або компенсацію (undo‑дія).
- Зберігай стан процесу (processId) і результати кроків.
3) Надійність
- Ідемпотентні кроки (повтор не шкодить).
- Ретраї з backoff + dead‑letter для ручного розбору.
- Observability: метрики по кроках, таймлайни, логи.
Підсумок
Складні CRM/ERP процеси стають передбачуваними, коли є orchestration, saga‑логіка, компенсації і спостережуваність. Це зменшує інциденти і ручну підтримку.