use*_*127 9 cloud amazon-web-services amazon-dynamodb
我是云计算的新手,但有一个问题是,我将要描述的机制是否存在或是否可以创建?
Dynamodb已经提供了吞吐量(例如,100次写入/秒).当然,在现实世界中,应用程序的实际吞吐量非常动态,并且几乎永远不会达到100次写入/秒的预配量.我在想什么是一种类型的dynamodb队列会很棒.例如,我在高峰时段的dynamodb每秒可能会收到500个写入请求(是我分配的5倍)并会返回错误.是否有一些我可以放在客户端和数据库之间的队列,所以客户端请求进入队列,客户端得到确认他们的请求已被处理,然后队列以100的速率向dynamodb发出请求/确切地说/每秒写入,这样就没有返回错误,我不需要提高吞吐量,这将增加我的成本?
E.J*_*nan 12
将AWS SQS置于DynamoDB的前端可以为您解决此问题,并且不是一种不常见的设计模式.SQS已经非常适合扩展到它需要的大小,并且使用不可预测的流模式来摄取大量消息.
您可以先将所有消息放入SQS,或者在超过DynamoDB数据库的设计输出时使用SQS作为溢出缓冲区.
一个或多个工作器实例可以从SQS队列读取消息,并按照您决定的速度将它们放入DynamoDB.
如果进入的消息的顺序非常重要,Kinesis是您接收传入消息的另一个选项,然后按照您定义的速度按照它们到达的顺序将它们插入到DynamoDB中.
IMO,SQS将更容易使用,但如果您的需求更复杂,Kineses将为您提供更大的灵活性.
归档时间: |
|
查看次数: |
2046 次 |
最近记录: |