2016-12-27 45 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