Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Saga orchestration vs choreography — zkušenosti z praxe

04. 10. 2021 1 min čtení CORE SYSTEMSai

Saga pattern implementujeme půl roku. Začali jsme s choreografií — každá služba reaguje na eventy. Fungovalo to do 5 služeb. Pak přišel chaos.

Choreografie — decentralizovaná koordinace

Každá služba poslouchá eventy a reaguje. Žádný centrální koordinátor. Výhoda: loose coupling. Nevýhoda: distribuovaná logika — nikdo nevidí celý flow. Debugging je noční můra. „Kde se ta objednávka zasekla?”

Orchestrace — centrální koordinátor

Orchestrátor (saga coordinator) řídí celý flow. Posílá příkazy službám, čeká na odpovědi, rozhoduje o compensations. Výhoda: viditelnost celého flow, jednodušší debugging. Nevýhoda: single point of failure, tighter coupling.

Náš hybridní model

Jednoduché flows (2-3 kroky) → choreografie. Komplexní flows (4+ kroků, větvení, timeouty) → orchestrace přes Temporal.io. Temporal: workflow engine s durable execution, automatickými retries a plnou visibility.

Neexistuje „správný” přístup

Choreografie pro jednoduché, orchestrace pro komplexní. Většina systémů potřebuje obojí.

sagaorchestrationchoreographymicroserviceskafka