Mikä on Event Sourcing
Tilan tallentaminen tapahtumahistorian kautta
Event Sourcing on arkkitehtuurimalli, jossa sovelluksen tila määräytyy tapahtumasekvenssin perusteella nykyisen datasnapshotin sijaan.
Toimintaperiaate
- Tapahtuma (Event) — muuttumaton tietue tapahtuneesta
- Event Store — kaikkien tapahtumien tallennus aikajärjestyksessä
- Projektio — tapahtumista rekonstruoitu nykyinen tila
- Replay — kyky toistaa kaikki tapahtumat
Edut
- Täydellinen muutoshistoria (audit trail)
- Mahdollisuus palata mihin tahansa ajankohtaan
- Järjestelmän käyttäytymisen virheenkorjaus ja analyysi
- CQRS (Command Query Responsibility Segregation) -tuki
Käyttötapaukset
- Pankkitapahtumat ja maksujärjestelmät
- Varaus- ja tilausjärjestelmät
- Pelipalvelimet (ottelun uusinnat)
- Auditointi ja vaatimustenmukaisuus finanssisovelluksissa
Teknologiat
Event Store, Apache Kafka, Axon Framework, Marten (.NET).