2016-12-27 2 views
2

Hallo Ich habe einige zuverlässige Akteure, die ich sichern möchte. Ich denke an die vollständige Sicherung jeden Tag und an die inkrementelle Sicherung, sobald sich der Status ändert und möglicherweise vor jeder Bereitstellung. Das Lesen der documentation und example hat mir nicht geholfen, weil es Dienste verwendet.Empfohlene Möglichkeit, Akteure in Service Fabric zu sichern

Ich fand ein Beispiel auf GitHub: https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-reliable-actors-platform.md Aber ich habe einige Zweifel mit dem Remoting-Vertrag und rufen Sie alle Akteure. Dies wird den Akteur seit seiner Art von Singlethread blockieren. Ist das wirklich die beste Praxis?

Vielleicht ist es besser, alle Änderungen an einen Event-Hub weiterzuleiten und in einer realen Datenbank zu speichern. Oder sollte ich eine Erinnerung verwenden, die die Backup-Aufgabe auslöst.

+0

Ich denke, der Aktor-Service ist aufgerufen und nicht der Schauspieler es selbst. Vielleicht erstelle ich eine Aufgabe mit einer Weile (true), die den Backup-Job erledigt. – Thieme

Antwort

1

Reliable Actors Abstraktion basiert auf ActorService, die. ist eine Implementierung von StatefulServiceBase (Reliable Service). Wie in der Backup and restore Reliable Actors erläutert, können Sie einen benutzerdefinierten ActorService implementieren, um Zugriff auf dieselben APIs BackupAsync und RestoreAsync zu erhalten, als ob Sie einen zuverlässigen Dienst erstellen würden. So können Sie Ihren ActorService regelmäßig so programmieren, wie Sie es sich vorstellten. Beachten Sie, dass beim Sichern von ActorService alle Actors gesichert werden, die sich in diesem Replikat befinden. Daher kann das Sichern jedes Mal, wenn sich der Zustand eines Actors ändert, teuer sein. Ich würde empfehlen, über das akzeptable Recovery Point Objective für Ihre Anwendung zu entscheiden und schrittweise in der relevanten Periodizität zu sichern. Weitere Informationen zum Erstellen eines benutzerdefinierten ActorService finden Sie im Abschnitt Custom Actor Service.

Bitte beachten Sie, dass ActorService in der aktuellen Version keine inkrementellen Sicherungen unterstützt: "Der KvsActorStateProvider unterstützt derzeit nur die vollständige Sicherung" Backup and Restore Reliable Actors.

+0

Sicherung funktioniert jetzt. Vielen Dank! Ich habe einige Dateien: restore.dat, neue/ActorStateStore, neue/ActorStateStore.pat, neue/edb00000002.log Ich versuche, diese Dateien ohne Erfolg wiederherzustellen: http://StackOverflow.com/questions/41360251/start -servicefabricpartitiondataloss-operation-timed-out – Thieme

Verwandte Themen