У меня есть приложение, которое использует библиотеку MongoDB.Driver (2.7.3) для подключения к CosmosDB в Azure. Учетная запись Cosmos настроена для репликации на вторичное устройство в другом регионе для аварийного восстановления. Проблема, с которой я сталкиваюсь, заключается в том, что при сбое учетной записи Cosmos мы теряем связь и получаем следующую ошибку при записи данных:
Тайм-аут произошел после 30000 мс при выборе сервера с помощью
CompositeServerSelector {Selectors =
MongoDB.Driver.MongoClient + AreSessionsSupportedServerSelector,
LatencyLimitingServerSelector {AllowedLatencyRange = 00: 00: 00.0150000
}}. Клиентское представление состояния кластера: {ClusterId: "1", ConnectionMode
: «Автоматически», Тип: «ReplicaSet», Состояние: «Подключено», Серверы: [{
ServerId: "{ClusterId: 1, EndPoint:
"Unspecified / 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 для улучшения аварийного восстановления?