2017-01-28 2 views
0

Например, работа с AmazonSQSClient в сети или в другом месте с многопоточным приложением:Какова рекомендуемая продолжительность жизни AWS-клиента в SDK .net?

Сколько экземпляров должно существовать в любой момент?

Должен ли я когда-либо избавиться от него и создать новый?

Нужно ли мне предотвращать создание нескольких экземпляров?

ответ

4

Все экземпляры клиента являются потокобезопасными в .NET SDK. Поэтому вы можете повторно использовать одного клиента в своем приложении, если состояние этого клиента удовлетворяет потребностям всех потоков. Клиенты также очень легки, поэтому создание и удаление из них повлечет за собой небольшие накладные расходы, а также действительный вариант использования.

AmazonSQSClient - пример, где вы можете захотеть, чтобы несколько клиентов использовали длительный опрос, чтобы максимизировать производительность, но вы понесете дополнительные расходы, поэтому вам нужно будет сбалансировать эти проблемы для своего приложения.

Единственная причина, по которой я могу думать о том, где было бы крайне важно отказаться от повторной инициализации экземпляра клиента, было бы предотвратить утечку памяти и выпуск ссылок. У меня недостаточно опыта работы с .NET SDK, чтобы поговорить об этом, но у меня не было проблем с утечками памяти, представленными классами AWS SDK в Java, и дизайн реализации кажется схожим.

Смежные вопросы