首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >amazon sqs :阅读消息顺序不正确

amazon sqs :阅读消息顺序不正确
EN

Stack Overflow用户
提问于 2012-06-04 12:52:14
回答 4查看 2.3K关注 0票数 1

我想从amazon sqs中获取消息的顺序与其插入sqs的顺序相同(先入先出模型)。他们有什么办法实现它吗??我正在使用zend php进行编程。

EN

回答 4

Stack Overflow用户

发布于 2012-06-05 02:14:17

无序消息传递是SQS设计中固有的特性。您可以尝试通过对消息进行编号并在本地存储无序的消息,直到丢失的消息到达,来解决这个问题,但这可能不值得这么麻烦。

SQS真的有点奇怪,它做到了它所说的,但它所做的并不是大多数人在消息总线中寻找的。我真的希望亚马逊能提供更多像RabbitMQ一样的排队解决方案。SQS实际上只适合分布那些甚至不是远程耦合的任务,以及顺序和延迟等并不重要的任务。例如,它非常适合于将已完成的订单发送到发货中心,或者安排打印作业。

他们自己的文档显示它被用来计划缩略图的创建,但当我最近将其用于这个确切的目的时,我很快发现我的用户不会对延迟印象深刻:有时是30-50秒。

您仍然可以在EC2节点上运行RabbitMQ,尽管其可伸缩性不如SQS,但它确实是集群的,应该会让您走得更远。

票数 1
EN

Stack Overflow用户

发布于 2012-06-16 02:41:24

你可以试试IronMQ。它像SQS一样托管,保证了先进先出排序,没有最终的一致性延迟,具有更高的可扩展性,您可以在几分钟内启动并运行。

这里有一个PHP库:https://github.com/iron-io/iron_mq_php

免责声明:我为Iron.io工作

票数 0
EN

Stack Overflow用户

发布于 2014-07-11 06:18:41

SQS documentation会为你回答这个问题(我强调粗体直接回答你的问题):

Amazon SQS尽最大努力保持消息中的顺序,但由于队列的分布式性质,我们不能保证您将按发送消息的确切顺序接收消息。如果您的系统要求保留顺序,我们建议您在每封邮件中放置排序信息,以便您可以在收到邮件时对邮件重新排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10876441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档