Commity.cz sdílí příspěvek kolegy
Event sourcing v praxi: jak orchestrovat 5 nezávislých systémů a nezbláznit se z toho
Posledních pár měsíců stavíme ve spolupráci s Commity.cz CATI Gate — orchestrační platformu pro telefonický průzkum trhu, která propojuje pět autonomních systémů: dotazovací engine, telefonní ústřednu, centrální databázi čísel, řízení tazatelů a builder dotazníků.
Klíčové rozhodnutí? Postavit jádro na event sourcingu (Clojure + PostgreSQL). A vyplatilo se hned ve třech věcech:
🔍 Přehlednost — každá změna stavu je událost. Žádné hádání „jak jsme se sem dostali" — celá historie sběru dat je zapsaná a auditovatelná.
🧩 Modularita — doménová logika je čistě oddělená od frameworku, nezávislé procesory, jde každý reaguje na svůj typ události. Přidat integraci znamená přidat nový soubor, ne přepisovat jádro.
🐞 Debugging — postavili jsme si vlastní web UI pro procházení event store, filtrování podle agregátu a diff mezi stavy. Když se něco rozbije, načtu si eventy a vidím přesně, kde se to stalo. Žádné „u mě to funguje". A co víc, zákazníci takovýto vhled do aplikace oceňují.
A propojení s okolím? Každý externí systém je občas offline — proto integrace běží asynchronně přes frontu (PGMQ). Událost → procesor → fronta → worker. Event store nikdy nečeká na cizí HTTP.
Hlavní lekce: přestaň se ptát „v jakém je to stavu" a začni se ptát „co se stalo" a „jak se systém do tohoto stavu dostal."




