azure - 宇宙数据库 : Will call go to write replica if provided read replica region doesn't exist?

标签 azure azure-cosmosdb database-replication

我在 Azure 上有一个 CosmosDB 实例,有 1 个写入副本和多个读取副本。通常我们调用 SetCurrentLocation 来调用只读副本。我的理解是,这会自动创建 PreferredLocations为了我们。但不确定 preferredlocations 是如何工作的。

现在假设传递给 SetCurrentLocation 方法的位置不正确。也就是说,我们经过的单个位置没有副本,但该位置是有效的 azure 区域。在这种情况下,调用会转到写入副本,还是更接近读取副本?

最佳答案

SetCurrentLocation 将根据指定区域与 Azure 区域之间的地理距离对 Azure 区域进行排序,然后 SDK 客户端将获取此排序列表并将其与您的帐户可用区域进行映射。因此,它最终是您的帐户可用区域,按您在 SetCurrentLocation 上指定的区域的距离排序。

对于具有单个写入区域的帐户,所有写入操作始终前往该区域,首选位置会影响读取操作。更多信息请访问:https://learn.microsoft.com/azure/cosmos-db/troubleshoot-sdk-availability

关于azure - 宇宙数据库 : Will call go to write replica if provided read replica region doesn't exist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73480724/

相关文章:

azure - 将 bacpac 文件导入到 Azure 门户上的现有 WASD

azure - DocumentDB - 无法比较查询中的两个路径

mysql - 是否可以将数据写入mysql中的复制主服务器

azure - 如何确定 Azure VM 是 VM 角色(预览版)还是虚拟机 (GA)

azure - 如何动态/以编程方式设置 Enterprise Library 数据库跟踪监听器连接字符串

c# - Web API 2 Asp.Net - 设置显式超时值

python - 如何使用 python 更新 Cosmos Db 中的记录?

azure - 宇宙数据库 : Can't create more than 25 containers in a shared database

php - 如何打印mysql报告并导出到excel

MySQL Master(Active) - Master(Active) 复制