【发布时间】:2019-05-21 08:36:41
【问题描述】:
我有一个应用程序正在使用 MongoDB.Driver 库 (2.7.3) 连接到 Azure 上的 CosmosDB。 Cosmos 帐户设置为复制到另一个区域的辅助节点以进行灾难恢复。我遇到的一个问题是,当我们对 Cosmos 帐户进行故障转移时,我们会失去连接并在写入数据时收到以下错误:
在选择服务器 30000 毫秒后发生超时 CompositeServerSelector{ 选择器 = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }。集群状态的客户端视图是 { ClusterId : "1", ConnectionMode :“自动”,类型:“ReplicaSet”,状态:“已连接”,服务器:[{ ServerId: "{ ClusterId : 1, EndPoint : "未指定/myCosmosAccount.documents.azure.com:10255" }", 端点:“未指定/myCosmosAccount.documents.azure.com:10255”, 状态:“已连接”,类型:“ReplicaSetOther”,标签:“{ region : North 欧洲 }", WireVersionRange: "[0, 2]" }] }
我知道可以在 MongoDB 连接字符串中指定多个服务器,但是我不清楚如何使用只有一个帐户端点的 Cosmos DB 来实现这一点。我当前的连接字符串是这样的:
mongodb://myCosmosAccount:Key@myCosmosAccount.documents.azure.com:10255/myCosmosDatabase?ssl=true
是否可以使用这个库,或者我需要切换到使用 Cosmos DB SDK 来改进灾难恢复?
【问题讨论】:
标签: mongodb azure-cosmosdb azure-cosmosdb-mongoapi