Übersicht über das Ereignissourcing

Das Ereignissourcing bietet eine flexible Möglichkeit zum Verwalten und Beibehalten des Grain-Zustands. Ein Grain mit Ereignissourcing hat viele potenzielle Vorteile gegenüber einem Standard-Grain. Zum einen kann es mit vielen verschiedenen Speicheranbieterkonfigurationen verwendet werden und unterstützt die Georeplikation über mehrere Cluster hinweg. Darüber hinaus trennt es die Grain-Klasse sauber von Definitionen des Grain-Zustands (dargestellt durch ein Grain-Zustandsobjekt) und Grain-Updates (dargestellt durch Ereignisobjekte).

Die Dokumentation des Beispiels ist wie folgt gegliedert:

  • In JournaledGrain Basics wird erläutert, wie Ereignisquellen-Grains definiert werden, indem sie von JournaledGrain<TGrainState,TEventBase> abgeleitet werden, wie auf den aktuellen Zustand zugegriffen wird und wie Ereignisse ausgelöst werden, die den Zustand aktualisieren.

  • In Replizierte Instanzen wird erläutert, wie der Ereignissourcingmechanismus replizierte Grain-Instanzen behandelt und Konsistenz gewährleistet. Außerdem wird die Möglichkeit von Race-Ereignissen und Konflikten sowie deren Lösung behandelt.

  • In Sofortige/verzögerte Bestätigung wird erläutert, wie die verzögerte Bestätigung von Ereignissen und die erneute Anfälligkeit die Verfügbarkeit und den Durchsatz verbessern können.

  • In Benachrichtigungen wird erläutert, wie Benachrichtigungen abonniert werden, sodass Grains auf neue Ereignisse reagieren können.

  • In Konfiguration des Ereignissourcings wird erläutert, wie Projekte, Cluster und Protokollkonsistenzanbieter konfiguriert werden.

  • In Integrierte Protokollkonsistenzanbieter wird erläutert, wie die drei derzeit enthaltenen Protokollkonsistenzanbieter funktionieren.

  • In JournaledGrain-Diagnosen wird erläutert, wie Sie auf Verbindungsfehler überwachen und einfache Statistiken abrufen.

Das oben dokumentierte Verhalten ist in Bezug auf die JournaledGrain-API relativ stabil. Wir erwarten jedoch, dass die Liste der Protokollkonsistenzanbieter in Kürze erweitert oder geändert wird, um Entwicklern das Anschließen von Standardereignisspeichersystemen zu ermöglichen.