Azure cosmosdb Cosmos db区域交通

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

我已在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、westus)的流量。就我的服务规模而言,我很确定其他地区也必须有交通。自从我添加其他区域以来,仅仅12个小时,azure门户上的一切看起来都很好。我们何时才能真正开始在新增加的区域看到交通流量,这是否有延迟

    我正在使用cosmos db 3.17.1 这就是我在代码中配置区域首选项的方式。 .WithApplicationRegion(此.GetRegionPreference())

    我同意马蒂亚斯的观点

    根据您的描述,需要设置
    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;
                }
            }