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

时间:2012-04-29 19:15:29

标签: amazon-ec2 activemq rabbitmq zeromq amazon-sqs

如果它提供了一些类似的FIFO访问,本来喜欢使用Amazon SQS,但序列似乎是完全随机的。

是否有什么可以为我提供FIFO排队作为云服务以及SQS的高可用性?

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

感谢您的见解!

4 个答案:

答案 0 :(得分:17)

更新2016-11-19

Amazon SQS刚刚获得FIFO Queues with Exactly-Once Processing & Deduplication

  

今天,我们正在通过支持使SQS更加强大和灵活   用于FIFO(先进先出)队列。 我们推出这个新的   现在两个地区的队列类型,并计划在其中提供   许多其他人在2017年初。

     

这些队列旨在保证处理邮件   正好一次,按照发送的顺序,没有重复。   [...]

     

[强调我的]

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


初步答复

  

如果它提供了一些相似之处,那么会喜欢使用Amazon SQS   FIFO访问,但序列似乎完全随机。

虽然我还没有经历完全随机的消息排序(这可能取决于用例,尤其是消息量),但确实没有FIFO保证,请参阅相应的FAQ {{ 3}}:

  

不,亚马逊SQS不保证对亚马逊的消息进行FIFO访问   SQS队列,主要是因为亚马逊的分布式特性   SQS。如果您需要特定的消息订购,您应该设计您的   申请处理它。

鉴于您对托管的Does Amazon SQS provide first-in-first-out (FIFO) access to messages?以及 StormMQ 表示了兴趣,我不妨指向其他商业产品:

CloudAMQP

RabbitMQ RabbitMQ即服务,因此正是您所要求的,因为RabbitMQ支持所需的真正的FIFO消息排序(参见{{ 3}}进行比较)。

根据他们的计划&价格,显然仅作为一流平台提供商的插件提供,因此您将不得不依次研究这些:

IronMQ

CloudAMQP Add-on 为开发人员提供具有高可靠性交付和云优化性能的即用型消息传递它符合当前对CloudAMQP Add-on产品的期望,而不仅仅是关于易于理解和特别公布的定价模型正如Sleavely正确IronMQ一样,Iron.io看似放弃了以前的模范定价模式 - 请参阅Alex Payne的Software as a service (SaaS)以获得一个很好的咆哮,并就此提出建议。

到目前为止,我自己很快就对它进行了测试,但对所提供的功能和语言集成非常满意(请参阅critizisedHow Not To Sell Software in 2012) - 鉴于它们具有竞争力的价格标签,特别是免费的tier使其成为探索消息队列作为服务解决方案的良好候选者,而不是与其第二个产品Client Libraries结合使用(易于使用且可大规模扩展的任务队列[...] ),它提供了迄今为止AWS无法提供的功能。

FIFO消息排序

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

来自Iron.io的

Beanstalkd Support确认IronMQ实际上提供了FIFO消息排序(非常感谢)。

答案 1 :(得分:0)

查看RabbitMQ和StormMQ。

答案 2 :(得分:0)

ActiveMQ是一种广泛使用的消息代理,提供FIFO队列。如果您正在寻找可用于AWS的高可用性和托管版本,请查看http://www.cinovo.de/activemq-as-a-service

答案 3 :(得分:-1)

我认为IronMQ将成为您的选择