Azure cosmosdb Cosmos db区域交通
我已在prod中为cosmos db启用全局复制。我的cosmos db的uri是my-cosmos-db-prod.document.azure.com:port。在Application Insight的应用程序图中,我看到了3个不同端点的流量Azure cosmosdb Cosmos db区域交通,azure-cosmosdb,Azure Cosmosdb,我已在prod中为cosmos db启用全局复制。我的cosmos db的uri是my-cosmos-db-prod.document.azure.com:port。在Application Insight的应用程序图中,我看到了3个不同端点的流量 我的宇宙数据库产品 我的宇宙db prod eastus 我的宇宙db prod westus 我不明白为什么我看到第一个端点的流量。我不应该只看到区域端点吗?第一个端点代表哪个区域 我还启用了5个地区,但我只看到了2个地区(eastus、westu
ApplicationRegion
,此参数决定将部署程序的区域
为了解释为什么你只看到3个不同端点的流量,而你似乎设置了一些其他区域,我认为这是基于cosmosdb的规则。为了降低延迟,cosmosdb将使用更接近的端点来提供服务
要降低延迟,请将数据放在用户所在位置附近。
选择所需的地区取决于您所在地区的全球覆盖范围
应用程序和用户所在的位置。透明宇宙数据库
将数据复制到与您的宇宙关联的所有区域
帐户
您使用什么SDK连接?本文根据您提供的配置解释SDK的路由:您是否在SDK配置中设置了区域首选项?@MartinSmith我使用的是Microsoft.Azure.Cosmos Version=“3.17.1”@MatiasQuaranta我已更新了答案。请检查。通常SDK将始终使用1个区域,即与您的应用程序区域匹配的区域。我共享的链接中记录了它可能转到另一个的情况。SDK不会使用所有区域,这不是它的工作方式。如果你想覆盖全球,你应该看看架构,比如你有多个不同配置的应用,每个应用都会到达其中一个地区。
private string GetRegionPreference()
{
switch (this.serviceConfig.Region)
{
case "usea":
return Regions.EastUS;
case "uswe":
return Regions.WestUS;
case "asea":
return Regions.EastAsia;
case "asse":
return Regions.SoutheastAsia;
case "euno":
return Regions.NorthEurope;
case "euwe":
return Regions.WestEurope;
default:
return Regions.WestUS;
}
}