amazon-ec2 - 是否有提供 Amazon SQS 高可用性的 FIFO 消息队列服务?

标签 amazon-ec2 activemq rabbitmq zeromq amazon-sqs

如果 Amazon SQS 提供某种 FIFO 访问的外观,我会很乐意使用它,但序列似乎完全随机。

有什么东西可以为我提供具有 SQS 高可用性的 FIFO 排队即云服务?

如果这要求太多 - 在 EC2 中将具有上述要求的东西放在一起的最简单方法是什么?或者换句话说,在 EC2 中工作的最简单的高可用排队解决方案是什么?

感谢您的见解!

最佳答案

更新 2016-11-19

亚马逊SQS刚刚获得FIFO Queues with Exactly-Once Processing & Deduplication :

Today we are making SQS even more powerful and flexible with support for FIFO (first-in, first-out) queues. We are rolling out this new type of queue in two regions now, and plan to make it available in many others in early 2017.

These queues are designed to guarantee that messages are processed exactly once, in the order that they are sent, and without duplicates. [...]

[emphasis mine]



如前所述,这些新的 FIFO SQS 队列将涵盖手头的用例,但尚未在所有 SQS regions 中可用。 [最初仅在美国东部(俄亥俄州)和美国西部(俄勒冈州)]。另外,SQS FAQ for FIFO queues概述了应预先考虑的标准队列和 FIFO 队列之间的显着差异,例如每秒 300 个事务的吞吐量限制。

初步答复

Would have loved to use Amazon SQS if it provided some semblance of FIFO access, but the sequence seems to completely random.



虽然我还没有经历过完全随机的消息排序(尽管这可能取决于用例,尤其是消息量),但确实没有 FIFO 保证,请参阅相应的常见问题解答 Does Amazon SQS provide first-in-first-out (FIFO) access to messages? :

No, Amazon SQS does not guarantee FIFO access to messages in Amazon SQS queues, mainly because of the distributed nature of the Amazon SQS. If you require specific message ordering, you should design your application to handle it.



鉴于您对托管表示感兴趣 RabbitMQ以及 StormMQ,我不妨向您指出其他商业产品:

云AMQP

CloudAMQP是 RabbitMQ 即服务,因此正是您所要求的,因为 RabbitMQ 支持所需的真实 FIFO 消息排序(请参阅 Amazon SQS vs. RabbitMQ 以获得很好的比较)。

根据他们的计划和价格,它显然仅作为一流平台提供商的附加组件提供,因此您必须依次研究这些:
  • 应用港 CloudAMQP Add-on
  • Heroku CloudAMQP Add-on
  • 云控CloudAMQP Add-on

  • IronMQ

    IronMQ为开发人员提供即时可用的消息传递,具有高度可靠的交付和云优化性能。它符合当今对 Software as a service (SaaS) 的期望产品,尤其是关于易于理解和特别发布的定价模型,这是理所当然的 critizised由 Sleavely 撰写,Iron.io 似乎已经放弃了以前的模范定价模式 - 参见 Alex Payne 的 How Not To Sell Software in 2012一个很好的咆哮和关于这方面的建议。

    到目前为止,我自己只是对其进行了短期测试,但对所提供的功能和语言集成感到非常满意(请参阅 Client LibrariesBeanstalkd Support)-鉴于它们具有竞争力的价格标签,尤其是免费套餐使其成为探索消息队列作为一种服务解决方案,尤其是结合他们的第二个产品 IronWorker (一个易于使用且可大规模扩展的任务队列 [...]),它提供了迄今为止 AWS 甚至无法提供的功能。

    FIFO 消息排序

    不幸的是,我无法确定 IronMQ 是否直接支持真正的 FIFO,因此我实际上对此表示怀疑 - 因此,您需要提交支持请求来验证这一点。

    Evan Shaw Iron.io 证实 IronMQ 实际上提供了 FIFO 消息排序(非常感谢)。

    关于amazon-ec2 - 是否有提供 Amazon SQS 高可用性的 FIFO 消息队列服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375137/

    相关文章:

    rabbitmq - 与纯RabbitMQ相比,使用NServiceBus + RabbitMQ有什么优势?

    amazon-web-services - 将 Terraform 输出从一个模块传递到另一个模块

    javascript - Node.js 和 ActiveMQ 之间的集成 - 如何使用

    WCF 双工、套接字编程、RabbitMQ

    activemq - 在不重启 ActiveMQ 的情况下重新加载 Camel.xml

    c - Julia 的消息处理程序

    rabbitmq - @RabbitListener 未从队列接收消息

    php - 当数据通过Web服务器防火墙传输时检索BLOB MySQL PHP问题

    mysql - 从 Ubuntu 11.10 到 Amazon EC2 BitNami LampStack 实例的 JDBC 连接 - 拒绝访问(使用密码 : YES)

    amazon-web-services - 在 EMR 中持久化、挂载和共享卷