2015-12-29 51 views
1

我正在寻找一种创新且最有效的方式来将写入爆发平坦化为dynamodb。展平Dynamodb写入爆发

我有4个cron作业,每3分钟运行一次,每个作业都有自己的线程。由于我无法控制他们同时开始的原因。 部分工作是为dynamodb写几行1000行。这通常使用批处理写入10到30秒。

由于4个作业的时间并行写入,

我正在寻找最有效的方式来随时分配写入。

我不想添加不必要的资源。可能该解决方案包含某种缓存和额外的cron作业。

我有memcache可用。但是,可能比写入memcache和阅读更有效。 也许服务器上的日志文件?

你会怎么做?

这是php与apache在ububtu。

回答

3

一个已建立的模式,特别是如果你只是需要写入才能最终到达那里,就是先将你的记录放入一个SQS队列中,然后有一个后台任务,从SQS中读取消息并将它们放入dynamodb中,规定的速率 - 当您不希望支付高写入吞吐量以匹配写入数据库的高峰期时,这非常有用。

SQS的优点是能够接受几乎任何规模的信息,但您可以通过以低可预测的速度编写行来降低动态成本。

+0

谢谢e.j.我一定会检查这个选项。 – Nir