如果它提供了一些类似的FIFO访问,本来喜欢使用Amazon SQS,但序列似乎是完全随机的。
是否有什么可以为我提供FIFO排队作为云服务以及SQS的高可用性?
如果要求太多 - 在EC2中将上述要求放在一起的最简单方法是什么?或者换句话说,在EC2中最简单的高可用排队解决方案是什么?
感谢您的见解!
答案 0 :(得分:17)
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 表示了兴趣,我不妨指向其他商业产品:
RabbitMQ是 RabbitMQ即服务,因此正是您所要求的,因为RabbitMQ支持所需的真正的FIFO消息排序(参见{{ 3}}进行比较)。
根据他们的计划&价格,显然仅作为一流平台提供商的插件提供,因此您将不得不依次研究这些:
CloudAMQP Add-on 为开发人员提供具有高可靠性交付和云优化性能的即用型消息传递。 它符合当前对CloudAMQP Add-on产品的期望,而不仅仅是关于易于理解和特别公布的定价模型正如Sleavely正确IronMQ一样,Iron.io看似放弃了以前的模范定价模式 - 请参阅Alex Payne的Software as a service (SaaS)以获得一个很好的咆哮,并就此提出建议。
到目前为止,我自己很快就对它进行了测试,但对所提供的功能和语言集成非常满意(请参阅critizised和How Not To Sell Software in 2012) - 鉴于它们具有竞争力的价格标签,特别是免费的tier使其成为探索消息队列作为服务解决方案的良好候选者,而不是与其第二个产品Client Libraries结合使用(易于使用且可大规模扩展的任务队列[...] ),它提供了迄今为止AWS无法提供的功能。
不幸的是我无法弄清楚IronMQ是否直接支持真正的FIFO,因此我实际上对此表示怀疑 - 因此,您需要提交支持请求来验证这一点。
Beanstalkd Support确认IronMQ实际上提供了FIFO消息排序(非常感谢)。
答案 1 :(得分:0)
查看RabbitMQ和StormMQ。
答案 2 :(得分:0)
ActiveMQ是一种广泛使用的消息代理,提供FIFO队列。如果您正在寻找可用于AWS的高可用性和托管版本,请查看http://www.cinovo.de/activemq-as-a-service。
答案 3 :(得分:-1)
我认为IronMQ将成为您的选择