0

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

这里有几个问题想听听大家的看法:

  1. 我们如何可视化服务中的数据?我们是否应该实现某种“转储数据”功能,以便我们可以掌握发生了什么?即使使用调试器,也很难看到服务中的数据。

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

4

1 回答 1

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

  2. 防止数据损坏的主要保护措施是备份和恢复。如果您最终处于错误状态,您将创建一个新的服务实例并恢复最后一个已知的良好数据集。

于 2016-05-18T18:47:56.050 回答