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í.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns