Мы используем Azure CosmosDB
с MongoDB API
+ MongoDB
C#
драйвером. Офисный SDK от Microsoft работает только с SQL API CosmosDB (DocumentDB) и имеет встроенную возможность повторять операции записи. Для этого в качестве задержки используется свойство DocumentClientException.RetryAfter
. Однако с драйвером Mongo
это невозможно. `Он возвращает только ошибку как:
Command insert failed: Message: {"Errors":["Request rate is large"]}.
В настоящее время мы добавили 1 секунду задержки при возникновении исключения записи, однако это не очень чисто и вызывает фиксированное количество задержек для операций массовой записи. Это не в реальном времени, то есть иногда мы откладываем написание следующих партий записей дольше, чем необходимо
Как мы справимся с этим?