2016-12-27 39 views
2

嗨,我有一些我想備份的可靠角色。 我正在考慮每天進行完整備份和增量備份,一旦狀態改變並且可能在每次部署之前。讀documentationexample沒有幫助我,因爲有使用服務。建議備份服務結構中的角色的方法

我在github上找到了一個例子:https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-reliable-actors-platform.md 但是我對使用遠程處理合同有所懷疑,並且打電話給所有演員。這會阻止演員,因爲它是單線程的。這真的是最佳做法嗎?

也許將所有更改轉發到事件中心並將其存儲在實際數據庫中會比較麻煩。或者我應該使用提醒來觸發備份任務。

+0

我認爲Actor服務被調用,而不是它自己的actor。也許我會用一段時間創建一個任務(true)來完成備份工作。 – Thieme

回答

1

可靠演員抽象建立在ActorService上。是StatefulServiceBase(可靠服務)的實現。如Backup and restore Reliable Actors中所解釋的,您可以實現自定義ActorService以訪問相同的BackupAsyncRestoreAsync API,就像構建可靠服務一樣。因此,您可以按照您的想法將您的ActorService編程爲定期備份。請注意,當一個ActorService備份時,它會備份駐留在該副本上的所有Actor。因此,每當Actor的狀態改變時備份可能會很昂貴。我會建議爲您的申請決定可接受的恢復點目標,並在相關的週期內逐步進行備份。

有關如何構建自定義ActorService的更多信息,請參見Custom Actor Service部分。

請注意,在當前版本中,ActorService不支持增量備份:「KvsActorStateProvider當前僅支持完整備份」Backup and Restore Reliable Actors

+0

備份正在工作。謝謝!我有一些文件:restore.dat,新/ ActorStateStore,新/ ActorStateStore.pat,新/ edb00000002.log 我試圖恢復此文件沒有任何成功:http://stackoverflow.com/questions/41360251/start -servicefabricpartitiondataloss-操作超時 – Thieme