.net SDK 中 AWS 客户端的推荐寿命是多少?

Nic*_*ick 1 .net amazon-sqs amazon-web-services aws-sdk

例如,AmazonSQSClient在 Web 或其他多线程应用程序中使用 :

在任何时刻应该存在多少个实例?

我应该处理它并创建一个新的吗?

我是否需要防止创建多个实例?

Dav*_*ple 5

所有客户端实例在 .NET SDK 中都是线程安全的。因此,如果该客户端的状态满足所有线程的需求,则您可能会在整个应用程序中重用单个客户端。客户端也非常轻量级,因此实例化和处理它们将产生很少的开销,并且也是一个有效的使用选项。

AmazonSQSClient 是一个示例,您可能希望多个客户端使用长轮询来最大限度地提高性能,但您会产生一些额外的成本,因此您需要为您的应用平衡这些问题。

我能想到必须处理和重新初始化 Client 实例的唯一原因是防止内存泄漏和释放引用。我没有足够的 .NET SDK 经验来讨论这个问题,但我没有遇到 Java 中 AWS SDK 类引入的内存泄漏问题,并且实现设计似乎相似。