【发布时间】:2016-11-20 07:29:11
【问题描述】:
请帮助为以下用例选择 MQ 应用程序/系统/方法:
检查特定用户的传入消息 -> 读取消息(如果有) -> 从队列中删除,最好保留在 AWS 中。
上下文:
- 社交网络应用,用户接收消息,即 我需要通过收件人 ID 来识别传入的邮件。
- 该应用每 30 秒对新消息进行一次长轮询。
- 消息大小为
- 根据目前的估计,我每月总共需要 1 亿多条消息检查(但是,消息要少得多,这些只是检查)。
- 虽然用户确认选择 OK 或 Ignore 的消息,但不确定 MQ 系统是否需要 ACK 支持。
我在 AWS。最初想到 SQS,但我读的越多,它看起来就越不匹配 - 无法以按收件人过滤的方式设置消息收件人 ID 等,但也许我错了。 我还考虑过的一个选项是仅使用 DynamoDB 的“消息”表,分区键为 userId,排序键为 messageId,因此我将能够轻松地由用户查询,但关心成本。
如果可能的话,我更愿意留在 AWS 中,或者至少使用 SQS 之类的 SAAS,因为作为一个 1 人创业公司,我真的希望避免在支持自托管系统方面遇到麻烦。
谢谢! D
【问题讨论】:
标签: amazon-web-services redis queue message-queue amazon-sqs