Event SourcingEvent Sourcing (ES)[1] ist ein Verfahren, bei dem alle Veränderungen des Zustands einer Softwareanwendung als Sequenz von Events abgebildet und aufgezeichnet werden.[2] Event Sourcing wird zu den Analysemustern gezählt. Mögliche Implementierung mit einem ESBFunktionen bzw. Methoden werden zunächst gemäß dem CQS-Prinzip nach Queries und Commands aufgeteilt. Commands werden an einen Enterprise Service Bus (ESB) geleitet. Falls der Command Handler das Command erfolgreich behandeln kann, wird ein Event erzeugt. Alle Events werden von einem Event Store aufgezeichnet. Hierbei kommen Datenbankensysteme zum Einsatz. Alternativ kann direkt in das Dateisystem von Festplatten geschrieben werden, was eine höhere Streaming-Performance aufweist als Datenbanken. Der Einsatz eines Event Stores bietet den Vorteil, dass alle Änderungen am System jederzeit durch eine Wiederholung der Events deterministisch nachgestellt werden können. Dies bietet Vorteile bei der Nachvollziehbarkeit, etwa aus rechtlichen Gründen oder beim Debugging. Um die Performance bei der Wiederherstellung eines gegebenen Zustandes zu erhöhen, werden in regelmäßigen Abständen Snapshots des aktuellen Zustands durchgeführt. Für die einzelnen Events werden beim ESB Event-Handler registriert, die z. B. Zustandsänderungen an denormalisierten Datenbanken durchführen, E-Mails versenden oder Fehler protokollieren. Vorteile
Nachteile
Weblinks
Quellen
|
Portal di Ensiklopedia Dunia