嗨,我有一些我想备份的可靠演员。 我想的是每天完整备份和状态更改后的增量备份,也可能在每次部署之前。阅读documentation和example并没有帮助我,因为有使用服务。
我在github上找到了一个例子:https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-reliable-actors-platform.md 但我对使用远程合同有所怀疑,并呼吁所有演员。这将阻止actor因为它的单线程。这真的是最好的做法吗?
将所有更改转发到事件中心并将其存储在真实数据库中可能会更好。或者我应该使用会触发备份任务的提醒。
答案 0 :(得分:1)
可靠的Actors抽象是建立在ActorService上的。是StatefulServiceBase(Reliable Service)的实现。正如Backup and restore Reliable Actors中所述,您可以实现自定义ActorService来访问相同的BackupAsync和RestoreAsync API,就像构建可靠服务一样。因此,您可以按照自己的想法定期编写ActorService以进行备份。请注意,当ActorService备份时,它会备份驻留在该副本上的所有Actors。因此,每次演员的状态改变时备份都可能很昂贵。我建议为您的应用程序确定可接受的恢复点目标,并在相关周期中逐步备份。
有关如何构建自定义ActorService的更多信息,请参阅Custom Actor Service部分。
请注意,在当前版本中,ActorService不支持增量备份:" KvsActorStateProvider目前仅支持完全备份" Backup and Restore Reliable Actors。