我正在寻找一种创造性且最有效的方法来压缩针对dynamodb的写入突发事件。
我有4个cron作业,每3分钟运行一次。每个线程都有自己的线程。由于我不能控制他们同时开始的原因。 部分工作是向dynamodb写入几千行。使用批量写入通常需要10到30个seconsa。
由于4个工作的时间安排,并行写入。
我正在寻找最有效的方式来分发写入。
我不想添加不必要的资源。该解决方案可能包含某种缓存和额外的cron作业。
我有memcache可用。然而,有可能比写入memcache和阅读更有效。 也许是服务器上的日志文件?
你会做什么?
在ububtu上使用apache的php。
答案 0 :(得分:3)
已建立的模式,特别是如果您最终需要写入,最先将您的记录放入SQS队列,并具有从SQS读取消息并将它们放入dynamodb中的后台任务,并将其放入规定的最大值rate - 当您不想为高写入吞吐量付费以匹配您对数据库的高峰写入时间时,这非常有用。
SQS的好处是能够接受几乎任何规模的消息,但您可以通过以较低的,可预测的速度编写行来降低您的动力学成本。