Beim Umschreiben der veralteten persistentView
in Akka habe ich einen Lese-Aktor, der seinen Zustand erfassen muss, und der Journal-Ereignis-Offset wurde bisher gelesen. Um den Ansichtsakteur zu stoppen, der eine Serialisierung der zusammengesetzten Datenstruktur von: (Zustand + Offset) benötigt, delegiere ich die Verantwortung, den Versatzwert an einen untergeordneten Akteur aufzunaptieren. Das Problem besteht dann darin, den Offset-Wert zwischen diesen beiden zu synchronisieren. Momentan habe ich im Leseschauspieler:
und um den Offset-Wert des Child-Actors zu aktualisieren, um die Snapshots zu synchronisieren, mache ich:
%Vor% Dies bedeutet jedoch, dass, wenn die Bestätigung des Kindschauspielers verloren gegangen wäre oder der Kindschauspieler gestorben wäre, bevor die Nachricht gesendet wurde, und dann der Darsteller stirbt, während er auf die offsetUpdated
Antwort von dem Kindschauspieler, dem Offset und dem Der Status befindet sich in einem unsynchronisierten Zustand, wenn der Hauptdarsteller versucht, eine Wiederherstellung durchzuführen.
Hier ist der vollständige Kontext der Frage.
Aktualisieren : Lesen Sie mehr über Zuverlässigkeit der Nachrichtenübermittlung , mir ist klar, dass dies ein allgemeineres Problem ist. Kann ich dieses übergeordnete Element und dieses Actor so konfigurieren, dass es einen Bereitstellungsmechanismus at-least-once
verwendet, während der Rest meines Projekts den standardmäßigen Bereitstellungsmechanismus at-most-once
verwendet? das Problem des Kindessterbens wird nicht behoben, bevor versucht wird, die Bestätigungsnachricht an den Elternteil zu senden.
Tags und Links persistence synchronization akka actor akka-persistence