如何将DynamoDB放入请求放入队列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将DynamoDB放入请求放入队列相关的知识,希望对你有一定的参考价值。
我看到很多人都提到,在DynamoDB中处理有限WCU的一种方法是在队列中发送请求,让队列以不会超过你分配的WCU的方式将数据插入到dynamodb中。
有没有人有这方面的例子?我目前正在使用python和nodeJS中的aws lambda。
我的理解:
如果lambda想要将2,000个项目放入dynamodb并且我们只有100个WCU,而不是在每个请求之间进行lambda重试和/或等待。
我们可以将项目发送到SQS队列,然后以每秒100WCU的速率输入项目。
这是正确的工作流程吗?
你可以使用Redis。特别是如果你一遍又一遍地插入同一个分区(称为“热分区”),Redis会从一个集合中提供随机选择。只需将它们排队(插入)到Redis中并不断地从另一个进程读取并插入到db中。关于Nodejs和Python redis有成千上万的例子,非常方便使用:)
缓存中有一个AWS Blog条目。看看它。还推荐这种模式。
虽然缓存的用例数量正在增加,特别是对于Redis,但主要的工作负载是支持读取繁重的重复读取工作负载。此外,开发人员还使用Redis来更好地吸收写入中的峰值。其中一种比较流行的模式是直接写入Redis,然后异步调用单独的工作流将数据转移到单独的数据存储(例如,DynamoDB)。
可能有更多的方法可以实现你想要的东西,甚至可以用更简单的方式,但Redis可以使用它,甚至你甚至可以使用它;)
以上是关于如何将DynamoDB放入请求放入队列的主要内容,如果未能解决你的问题,请参考以下文章
CloudFormation 将项目放入 DynamoDB 表中