Persistente Aktoren in Akka.NET 17.08.2020, 00:00 Uhr

Lesen bildet

Wie das Erstellen von Abfragemodellen in Akka.NET gelingt.
(Quelle: Autor)
Die Bibliothek Akka.NET [1] löst gängige Probleme in der Entwicklung nebenläufiger Anwendungen. Ziel ist es, dass Entwickler den Satz „Klingt nach einem Threading-Problem“ nie mehr hören müssen. Um den Systemzustand zu speichern, greift Akka.NET auf das Persistenzmuster Event-Sourcing zurück, verwendet also einen Event-Store, siehe [2]. Dabei verarbeitet ein Aktor einen Befehl (Command), der als Nachricht modelliert ist, die als einfaches Objekt (POCO) an eine passende Überladung der Methode Handle gereicht wird. Diese prüft, ob die Abarbeitung des Befehls möglich ist, und erzeugt ein Ereignis (Event) – wieder als POCO – und übergibt dieses an die Causes-Methode, die sich um die Speicherung kümmert. Ist das Ereignis im Event-Store gelandet, wird es an die Publish-Methode zurückgegeben, die es an drei Parteien weiterreicht: den Sender des Befehls, den Event-Stream und den Aktor selbst, der dann in seiner Apply-Methode seinen internen privaten Zustand verändert, siehe Bild 1, linke Seite und Mitte.
Event-Projektion zum Aufbau eines Abfragemodells

(Read-Model) (Bild 1)
Quelle: Autor

Jetzt 1 Monat kostenlos testen!

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
  • + Digitales Kundenkonto,
  • + Zugriff auf das digitale Heft,
  • + Zugang zum digitalen Heftarchiv,
  • + Auf Wunsch: Weekly Newsletter,
  • + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar