Middle — Middle+
Vysvětlete princip fungování a účel vzoru Outbox v architektuře systému
sobes.tech AI
Odpověď od AI
Vzor Outbox se používá k zajištění spolehlivého doručení zpráv nebo událostí mezi mikroservisy nebo komponentami systému, zejména v distribuovaných architekturách.
Myšlenka je, že při provádění obchodní operace v databázi se spolu se změnami uloží speciální tabulka nazvaná "outbox" s zprávami, které je třeba odeslat do externích systémů. Poté ji čte samostatný proces nebo služba a odesílá tyto zprávy do fronty zpráv nebo jinému spotřebiteli.
Toto umožňuje zajistit, že zpráva bude odeslána přesně jednou a neztratí se, i když odeslání zpráv a hlavní transakce probíhají v různých systémech.
Příklad:
- V transakci jsou uloženy změny v obchodních objektech a přidán záznam do tabulky Outbox.
- Transakce je potvrzena.
- Samostatný proces čte nové záznamy z Outbox a odesílá je do fronty zpráv.
- Po úspěšném odeslání je záznam z Outbox odstraněn nebo označen jako odeslaný.
Tímto způsobem je dosažena konzistence mezi stavem databáze a externími událostmi bez distribuovaných transakcí.