使用MongoDB.Driver库进行Cosmos DB故障切换

使用MongoDB.Driver库进行Cosmos DB故障切换,mongodb,azure-cosmosdb,azure-cosmosdb-mongoapi,Mongodb,Azure Cosmosdb,Azure Cosmosdb Mongoapi,我有一个应用程序正在使用MongoDB.Driver库2.7.3连接Azure上的CosmosDB。Cosmos帐户被设置为复制到另一个地区的辅助服务器以进行灾难恢复。我遇到的一个问题是,当我们故障切换Cosmos帐户时,我们会失去连接,并在写入数据时出现以下错误: 使用选择服务器30000ms后发生超时 复合服务器选择器{选择器= MongoDB.Driver.MongoClient+是会话支持的服务器选择器, LatencyLimitingServerSelector{AllowedLate

我有一个应用程序正在使用MongoDB.Driver库2.7.3连接Azure上的CosmosDB。Cosmos帐户被设置为复制到另一个地区的辅助服务器以进行灾难恢复。我遇到的一个问题是,当我们故障切换Cosmos帐户时,我们会失去连接,并在写入数据时出现以下错误:

使用选择服务器30000ms后发生超时 复合服务器选择器{选择器= MongoDB.Driver.MongoClient+是会话支持的服务器选择器, LatencyLimitingServerSelector{AllowedLatencyRange=00:00:00.0150000 } }. 群集状态的客户端视图为{ClusterId:1,ConnectionMode :自动,类型:复制集,状态:已连接,服务器:[{ ServerId:{ClusterId:1,终结点: 未指定/myCosmosAccount.documents.azure.com:10255}, 端点:未指定/myCosmosAccount.documents.azure.com:10255, 状态:已连接,类型:ReplicaSetOther,标记:{区域:北 欧洲},WireVersionRange:[0,2]}

我知道可以在MongoDB连接字符串中指定多个服务器,但是我不清楚如何使用Cosmos DB实现这一点,因为Cosmos DB只有一个帐户端点。我当前的连接字符串如下:

mongodb://myCosmosAccount:Key@myCosmosAccount.documents.azure.com:10255/myCosmosDatabase?ssl=true

使用此库可以做到这一点吗,或者我需要切换到使用Cosmos DB SDK来改进灾难恢复吗?

我在这里找到了解决方案:

我需要将:replicaSet=globaldb添加到我的连接字符串的末尾,因此现在看起来如下所示:

mongodb://myCosmosAccount:Key@myCosmosAccount.documents.azure.com:10255/myCosmosDatabase?ssl=true&replicaSet=globaldb