Servce Fabric有状态服务 - 从腐败中恢复

时间:2016-04-13 13:09:23

标签: architecture microservices azure-service-fabric disaster-recovery

场景是我们使用有状态服务在生产中使用Service Fabric应用程序。发生了一些不好的事情,导致系统状态变得不一致。我们需要解决导致损坏状态的问题,但我们需要非常快速地修复状态。

这里有几个问题我希望听到人们的意见:

  1. 我们如何可视化服务中的数据?我们应该实现某种“转储数据”功能,以便我们能够处理发生的事情吗?即使使用调试器,也很难在服务中看到数据。

  2. 一旦我们确定哪些数据已损坏,我们就会想要快速修复它以让我们的客户再次运行。在我们找出问题的根本原因之前,我们可能想要这样做。我假设我们需要部署所有受影响服务的新版本,并在其中使用一些特殊的一次性代码来修复损坏。还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

  1. 对于可视化,您可以转储数据,在服务中构建一些可视化UI,或者构建一个可以从其他服务中获取的单独的可视化服务。假设您正在将数据推送到disaster recovery的外部商店,您还可以通过该商店进行可视化。也就是说,提供可视化服务状态的工具是我们希望将来启用的工具。

  2. 您对数据损坏的主要保护是backup and restore。如果您最终处于错误状态,则创建该服务的新实例并恢复最后已知的良好数据集。