【问题标题】:Recommended way to backup actors in service fabric在服务结构中备份参与者的推荐方法
【发布时间】:2017-05-11 19:10:09
【问题描述】:

您好,我有一些可靠的演员要备份。 我正在考虑每天进行完整备份,并在状态更改时以及可能在每次部署之前进行增量备份。阅读documentationexample 对我没有帮助,因为正在使用服务。

我在github上找到了一个例子:https://github.com/Microsoft/azure-docs/blob/master/articles/service-fabric/service-fabric-reliable-actors-platform.md 但是我对使用远程合同有一些疑问并打电话给所有演员。这将阻止actor,因为它是单线程的。这真的是最佳实践吗?

也许将所有更改转发到事件中心并将其存储在真实数据库中会更好。或者我应该使用一个会触发备份任务的提醒。

【问题讨论】:

  • 我认为调用的是 Actor 服务而不是它自己的 Actor。也许我会用一段时间(true)创建一个任务来完成备份工作。

标签: azure-service-fabric


【解决方案1】:

Reliable Actors 抽象是建立在 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

【讨论】:

  • 备份正在运行。谢谢!我有一些文件:restore.dat、new/ActorStateStore、new/ActorStateStore.pat、new/edb00000002.log 我正在尝试恢复这些文件但没有成功:stackoverflow.com/questions/41360251/…
猜你喜欢
  • 2017-07-09
  • 2016-06-12
  • 2018-04-11
  • 2017-12-08
  • 2017-03-12
  • 2016-06-17
  • 2018-03-06
  • 2015-08-03
  • 2020-04-11
相关资源
最近更新 更多