我正在开发一项使用 Amazon SQS 服务来存储数据的服务。我想将数据保存到键值结构中,以便使用队列的客户端应该发送键来获取数据。可以保持这种结构或建议任何其他合适的亚马逊服务来满足以下要求。
问问题
1549 次
4 回答
2
SQS is not right choice for this key pair storage...use dynamo DB with SQS...
于 2013-11-05T18:29:15.447 回答
2
SQS 无法工作有几个原因:
- SQS 的最长存储时间为 14 天
- SQS 消息的最大存储大小为 256 kb
- 当客户端接收消息时,他们无法控制接收消息的顺序,这意味着他们可能必须通读所有消息
- 当客户端收到消息时,它们会被临时锁定以防止其他客户端读取它们(此行为可以被覆盖)
- SQS 中没有像 JMS 中那样的“回复消息”的概念。要发送回复,您必须使用不同的队列或不同的机制
对于 kv 存储,您应该使用 Amazon SimpleDB 或 DynamoDB 之类的东西。
于 2013-11-05T18:54:15.603 回答
2
SQS 可能不是此用例的正确工具。您不能“通过密钥检索消息”,您只能“检索消息”,您收到的消息完全取决于 SQS 想要给您的任何信息。
我会根据您的要求看一下 DynamoDB 或 S3。DynamoDB 用于结构化数据和 S3 的低延迟、可预测吞吐量(如果您对这些功能没有要求)。
于 2013-10-03T19:43:43.097 回答
0
您还可以组合 SQS 和 S3,您可以在其中将每个单独的 S3 对象条目的 url 存储在 SQS 队列中作为参考。
于 2013-10-29T21:24:56.187 回答