Sobes.tech
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:

  1. V transakci jsou uloženy změny v obchodních objektech a přidán záznam do tabulky Outbox.
  2. Transakce je potvrzena.
  3. Samostatný proces čte nové záznamy z Outbox a odesílá je do fronty zpráv.
  4. 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í.