Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<h2>Update 2016-11-19</h2> <p>Amazon SQS has just gained <a href="https://aws.amazon.com/blogs/aws/new-for-amazon-simple-queue-service-fifo-queues-with-exactly-once-delivery-deduplication/" rel="nofollow noreferrer">FIFO Queues with Exactly-Once Processing &amp; Deduplication</a>:</p> <blockquote> <p>Today we are making SQS even more powerful and flexible with support for FIFO (first-in, first-out) queues. <strong>We are rolling out this new type of queue in two regions now</strong>, and plan to make it available in many others in early 2017.</p> <p><strong>These queues are designed to guarantee that messages are processed exactly once, in the order that they are sent, and without duplicates</strong>. [...] </p> <p><em>[emphasis mine]</em></p> </blockquote> <p>As emphasized, these new FIFO SQS queues will cover the use case at hand, but are not yet available in all <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region" rel="nofollow noreferrer">SQS regions</a> [initially only in US East (Ohio) and US West (Oregon)]. Also, the <a href="https://aws.amazon.com/sqs/faqs/#fifo-queues" rel="nofollow noreferrer">SQS FAQ for FIFO queues</a> outlines notable differences between standard and FIFO queues that should be considered upfront, for example a throughput limit of 300 transactions per second.</p> <hr> <h2>Initial Answer</h2> <blockquote> <p>Would have loved to use Amazon SQS if it provided some semblance of FIFO access, but the sequence seems to completely random.</p> </blockquote> <p>While I haven't experienced <em>completely random</em> message ordering yet (this likely depends on the use case and especially the message volume though), there is no FIFO guarantee indeed, see the respective FAQ <a href="http://aws.amazon.com/sqs/faqs/#Does_Amazon_SQS_provide_first_in_first_out_FIFO_access_to_messages" rel="nofollow noreferrer">Does Amazon SQS provide first-in-first-out (FIFO) access to messages?</a>:</p> <blockquote> <p>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.</p> </blockquote> <p>Given you expressed interest in hosted <a href="http://www.rabbitmq.com/" rel="nofollow noreferrer">RabbitMQ</a> as well as <em>StormMQ</em>, I might as well point you to other commercial offerings:</p> <h2>CloudAMQP</h2> <p><a href="http://www.cloudamqp.com/" rel="nofollow noreferrer">CloudAMQP</a> is <em>RabbitMQ as a Service</em>, thus exactly what you have been asking for, given RabbitMQ supports the desired <em>true FIFO message ordering</em> (see <a href="http://www.nsono.net/blog/?p=3" rel="nofollow noreferrer">Amazon SQS vs. RabbitMQ</a> for a nice comparison).</p> <p>According to their Plans &amp; Prices, it is apparently <em>only offered as an addon to first class platform providers</em> though, hence you'll have to look into these in turn:</p> <ul> <li>AppHarbor <a href="https://appharbor.com/addons/cloudamqp" rel="nofollow noreferrer">CloudAMQP Add-on</a></li> <li>Heroku <a href="https://addons.heroku.com/cloudamqp" rel="nofollow noreferrer">CloudAMQP Add-on</a></li> <li>cloudControl <a href="https://www.cloudcontrol.com/add-ons/cloudamqp" rel="nofollow noreferrer">CloudAMQP Add-on</a></li> </ul> <h2>IronMQ</h2> <p><a href="http://www.iron.io/mq/" rel="nofollow noreferrer">IronMQ</a> <em>offers developers ready-to-use messaging with highly reliable delivery and cloud-optimized performance</em>. <strike>It is complying to nowadays expectations on a <a href="http://en.wikipedia.org/wiki/Software_as_a_service" rel="nofollow noreferrer">Software as a service (SaaS)</a> product, not the least regarding an easy to understand and especially published pricing model</strike> As rightfully <a href="https://stackoverflow.com/questions/10375137/is-there-a-fifo-message-queuing-service-offering-the-high-availability-of-amazon/10406388?noredirect=1#comment70682134_10406388">critizised</a> by Sleavely, Iron.io has seemingly dropped its former exemplary pricing model - see Alex Payne's <a href="http://al3x.net/2012/02/29/how-not-to-sell-software-in-2012.html" rel="nofollow noreferrer">How Not To Sell Software in 2012</a> for a nice rant and advise regarding this.</p> <p>I've only tested it shortly myself so far, but have been pretty pleased with the offered features and language integrations (see <a href="http://dev.iron.io/mq/code/libraries/" rel="nofollow noreferrer">Client Libraries</a> and <a href="http://dev.iron.io/mq/code/beanstalkd/" rel="nofollow noreferrer">Beanstalkd Support</a>) - given their competitive price tag and especially the free tier makes it a good candidate for exploring a message queuing as a service solution, not the least in combination with their second product <a href="http://www.iron.io/worker/" rel="nofollow noreferrer">IronWorker</a> (<em>An easy-to-use and massively scalable task queue [...]</em>), which provides functionality not even available from AWS as of today.</p> <h3>FIFO message ordering</h3> <p><strike>Unfortunately I haven't been able to figure out whether true FIFO is supported by IronMQ directly, consequently I actually doubt it - accordingly, you'd need to file a support request to verify this.</strike></p> <p><a href="https://stackoverflow.com/users/510/evan-shaw">Evan Shaw</a> from Iron.io confirmed that IronMQ provides FIFO message ordering in fact (thanks much).</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload