我正努力在一个高流量应用程序中将一些数据访问到dynamo。这款应用程序收集了大量的数据,一些特定的表导致了传统DB中的性能问题。因此,经过一些重新设计和数据布局的一些改变,我们已经能够使他们很好地适应DynamoDB的利基。
我的问题是关于客户端对象的使用/创建。SDK文档建议最好创建一个客户机并在多个线程之间共享它,因此在我的存储库实现中,我将客户机定义为一个懒惰的单例。这意味着它将被创建一次,并且所有的请求都将共享同一个客户端(目前每分钟大约有4000次请求,但随着我们走出beta版并开始推广该产品,它很可能会大量增长)。
有没有人有任何经验,使AWS SDK的规模?
谢谢萨姆
发布于 2014-04-04 20:41:01
当您创建一个客户机并与多个线程共享它时,只有一个线程可以在某个SDK中的某个时间点使用该客户端。
当然,如果您为不同的线程创建单独的客户端,它会减慢进程的速度。
所以我建议你在这里采取中间路线,
最大化HTTP连接池的大小,以便允许创建更多的客户端。 然后跟踪客户端对象的共享。
批处理操作可用于.Net aws
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BatchOperationsORM.html
https://stackoverflow.com/questions/22859835
复制相似问题