Cosmos DB选择性区域复制

时间:2019-03-30 05:34:51

标签: azure azure-cosmosdb replication

我们计划使用cosmos db单个主部署,其中所有主数据都在单个区域中维护。该应用程序分布在各个区域,我们需要提供对各个区域的读取访问权限。但是,我们希望过滤复制,因为并非所有区域都会对cosmos DB中的所有数据感兴趣。有什么方法可以使用选择性区域特定的复制吗?我知道我们可以使用Cosmos DB触发器,然后使用功能应用程序等来复制流量,但这在维护和监视方面是一项开销。因此,有兴趣知道我们是否可以利用任何本机功能。

1 个答案:

答案 0 :(得分:0)

内置的地理复制机制对您完全透明。您看不到它,也无能为力。不编写自定义内容就无法完成您所描述的事情。

如果您确实要复制选定的数据,则需要执行以下操作(这是一个糟糕的解决方案,您不应该这样做):

  • 创建真实的Cosmos DB帐户的主要来源。那就是您所描述的“单一主人”。
  • 在所需的任何区域创建其他几个帐户。
  • 使用Cosmos数据库触发器Azure功能或Change Feed Processor库来侦听主帐户上的更改,然后使用过滤逻辑将其复制到其他需要使用它们的帐户中。
  • 根据应用程序的部署环境使用不同的连接字符串

不过,仅跨所有区域复制数据有什么问题?没有缺点。