Я прочитал Советы по производительности клиента Azure Document .Меня заинтересовал «Использовать единый клиент Azure Cosmos DB для жизни вашего приложения» point:
Каждый экземпляр DocumentClient является поточно-ориентированным и обеспечивает эффективное управление соединениями икеширование адресов при работе в прямом режиме.Чтобы обеспечить эффективное управление соединениями и лучшую производительность с помощью DocumentClient, рекомендуется использовать один экземпляр DocumentClient на домен приложения в течение всего срока службы приложения.
Правильно ли я понимаю, что этот момент означает, чтоНе стоит ли беспокоиться о создании / удалении соединений с базой данных cosmos
db?Такие вещи, как удаление экземпляра DocumentClient
, будут работать без дополнительного пользовательского кода с моей стороны.
Итак, в моем приложении (которое содержит контейнер Ioc). Если я прав, мне нужно всего лишь зарегистрировать объект DocumentClient
как singleton в моем контейнере Ioc
, а затем просто разрешить объект DocumentClient
везде, где это необходимо.Я хочу создать запрос к коллекции document
?
Если это так, в какое время / момент я могу ожидать, что экземпляр DocumentClient
будет удален (будет запущен метод Dispose)?
Будет ли этот способ работать в режиме Gateway
?
Также, чтобы подтвердить свои идеи, правильно ли я понимаю, что экземпляр DocumentClient
будет создаваться отдельно для каждой машины, на которой будет запускаться мое приложение?Поскольку Microsoft Azure
является распределенной системой, и запросы могут быть перенаправлены на другие машины практически в любой момент.
Спасибо.