Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Event Sourcing — stav jako historie událostí

12. 11. 2023 Aktualizováno: 27. 03. 2026 1 min čtení advanced
Tento článek byl publikován v roce 2023. Některé informace mohou být zastaralé.

Architektura Expert

Event Sourcing — stav jako historie událostí

Event SourcingEventsCQRS 3 min čtení

Ukládejte stav jako sekvenci událostí. Event store, projekce, snapshoty a implementace.

Princip

Místo aktuálního stavu ukládáte sekvenci událostí. Stav získáte přehráním všech eventů.

# Tradiční: Account { id: 1, balance: 150 }
# Event Sourcing:
AccountCreated  { id: 1, balance: 0 }
MoneyDeposited  { amount: 200 }
MoneyWithdrawn  { amount: 50 }
# → Replay: 0 + 200 - 50 = 150

Event Store

class EventStore {
    async append(aggregateId, events, expectedVersion) {
        const current = await this.getVersion(aggregateId);
        if (current !== expectedVersion) throw new Error('Concurrency conflict');
        for (const event of events) {
            await this.db.query(
                'INSERT INTO events (aggregate_id, version, type, data) VALUES ($1, $2, $3, $4)',
                [aggregateId, ++current, event.type, JSON.stringify(event.data)]
            );
        }
    }
}

Projekce

Eventy nejsou efektivní pro dotazy. Projekce = read modely aktualizované při každém novém eventu. Snapshoty ukládají stav po N eventech.

Shrnutí

Event Sourcing dává kompletní audit trail a časové cestování. Ale přidává komplexitu. Používejte kde je historie klíčová (finance, compliance).

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace

Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.