配置切换和回退机制

迁移通常非常耗时且复杂。在数据迁移和切换完成后,您可能会遇到不一致的性能或问题。

我们建议您内置回退机制,以免在迁移期间发生错误时造成严重影响,从而让您能够尽可能缩短停机时间,切换回来源数据库。

借助反向复制,您可以通过将写入 Spanner 的数据复制回源数据库来进行回退。如果您需要回退,则可以使用反向复制将应用指向源数据库,并继续处理请求,而不会出现明显的停机时间。

反向复制过程需要执行以下操作:

  • 处理数据类型或内容的更改。
  • 还原迁移期间执行的所有转换。
  • 将数据推送到适当的目的地,同时考虑源数据库的分片方案。

考虑以下构建反向复制流程的大致方法:

  1. 读取 Spanner 上发生的更改。
  2. (可选)在启用反向复制之前,停用正向变更数据捕获 (CDC) 迁移。
  3. 由于 Spanner 是一个分布式数据库,因此请先捕获并暂时对所有更改进行排序,然后再写入源数据库。
  4. 将数据写入源数据库。