Event Sourcing

Architecture 🔴 Senior

Définition

Stocke l'état comme une séquence immuable d'evenements plutôt que comme l'état courant. L'état se reconstruit en rejouant les evenements.

Analogie

Un relève bancaire : tu ne stockes pas le solde, mais l'historique de toutes les transactions.

Exemple de code

const events = [
  { type: 'AccountOpened', balance: 0 },
  { type: 'MoneyDeposited', amount: 100 },
  { type: 'MoneyWithdrawn', amount: 30 },
];
const balance = events.reduce(applyEvent, 0); // 70

Cas d'usage

Audit trail complet, systèmes financiers, undo/redo, debug temporel.

Anti-pattern

Evenements mutables ou supprimes — on perd la propriété d'immutabilite.

Termes liés

#architecture#interview#architecture-style

← → au clavier pour passer d'une fiche à l'autre