我有一个使用MongoDB.Driver库(2.7.3)连接到Azure上的CosmosDB的应用程序。 Cosmos帐户设置为复制到另一个区域中的辅助帐户以进行灾难恢复。我遇到的一个问题是,当我们对Cosmos帐户进行故障转移时,我们将失去连接并在写入数据时收到以下错误:
使用以下命令选择服务器30000ms之后发生超时 CompositeServerSelector {选择器= MongoDB.Driver.MongoClient + AreSessionsSupportedServerSelector, LatencyLimitingServerSelector {AllowedLatencyRange = 00:00:00.0150000 }。群集状态的客户端视图为{ClusterId:“ 1”,ConnectionMode :“自动”,类型:“ ReplicaSet”,状态:“已连接”,服务器:[{ ServerId:“ {ClusterId:1,端点: “未指定/myCosmosAccount.documents.azure.com:10255”}“, 端点:“未指定/myCosmosAccount.documents.azure.com:10255”, 状态:“已连接”,类型:“ ReplicaSetOther”,标签:“ {地区:北 欧洲}“,WireVersionRange:” [0,2]“}]}
我知道可以在MongoDB连接字符串中指定多个服务器,但是我不清楚如何使用Cosmos DB(该帐户仅具有一个端点)来实现此目的。我当前的连接字符串是这样:
mongodb://myCosmosAccount:Key@myCosmosAccount.documents.azure.com:10255/myCosmosDatabase?ssl=true
可以使用此库吗?还是需要切换到使用Cosmos DB SDK来提高灾难恢复能力?
答案 0 :(得分:0)
我需要在连接字符串的末尾添加:replicaSet=globaldb
,所以现在看起来像这样:
mongodb://myCosmosAccount:Key@myCosmosAccount.documents.azure.com:10255/myCosmosDatabase?ssl=true&replicaSet=globaldb