Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Event Sourcing — Zustand als Ereignishistorie

12. 11. 2023 1 Min. Lesezeit advanced

Architektur Experte

Event Sourcing — Zustand als Ereignishistorie

Event SourcingEventsCQRS 3 Min. Lesezeit

Zustand als Sequenz von Ereignissen speichern. Event Store, Projektionen, Snapshots und Implementierung.

Prinzip

Anstelle des aktuellen Zustands speichern Sie eine Sequenz von Ereignissen. Den Zustand erhalten Sie durch Wiedergabe aller Events.

# Traditionell: 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)]
            );
        }
    }
}

Projektionen

Events sind für Abfragen nicht effizient. Projektionen = Read Models, die bei jedem neuen Event aktualisiert werden. Snapshots speichern den Zustand nach N Events.

Zusammenfassung

Event Sourcing bietet einen vollständigen Audit Trail und Zeitreisen. Aber es erhöht die Komplexität. Verwenden Sie es dort, wo die Historie entscheidend ist (Finanzen, Compliance).

Brauchen Sie Hilfe bei der Implementierung?

Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.

Kostenlose Beratung

Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.