0

编辑2:我遇到了完全相同的问题

对于 RavenDB 复制,Raven-Replication-Source Guid 在尝试辨别哪些文档来自哪个服务器时非常方便。

但在灾难恢复场景中,可能需要确保实例的 Raven-Replication-Source Guid 与失败前保持一致。

我的问题:

  • 我可以手动设置数据库的 Raven-Replication-Source Guid 吗?

编辑(回应Ayende 的评论):

这是场景:

  • 客户端使用一个主 RavenDB 实例进行所有读取和写入。
  • 此主实例复制到热备用实例。
  • 当主实例发生故障时,客户端会根据此配置设置立即故障转移到热备件。
  • 经过仔细检查,我们发现主 RavenDB 实例已损坏,需要清除。
  • 当我们重新创建主 RavenDB 实例时,从热备份复制将复制在热备份上创建的文档。
    • 强调:热备件不会将在主服务器(灾难之前)创建的文档复制回主服务器,因为它们的 Raven-Replication-Source Guid 是主服务器的 Raven-Replication-Source Guid。
  • 这是一个问题,因为正如我所说,主 RavenDB 实例已被清除,我们需要从头开始重新创建数据库,并且我们需要将所有文档从热备用复制回主实例。

编辑 3: @Ayende 的回答让我发现我正在解决错误的问题。这是解决我的问题的正确方法。

4

1 回答 1

1

不,这不是你能控制的。而且我不确定您有什么情况需要这样做。Raven-Replication-Source 是最后一个更改的数据库的 db id(没有复制)。

于 2013-05-15T10:44:42.000 回答