Ответ 1
Обновление 2016-11-19
Amazon SQS только что получил очереди FIFO с обработкой и дедупликацией с точным обращением:
Сегодня мы делаем SQS еще более мощным и гибким с поддержкой для очередей FIFO (first-in, first-out). Мы развертываем этот новый тип очереди в двух регионах сейчас, и планируете сделать его доступным в многие другие в начале 2017 года.
Эти очереди предназначены для обеспечения обработки сообщений ровно один раз, в том порядке, в котором они отправлены, и без дубликатов. [...]
[акцент мой]
Как уже отмечалось, эти новые очереди FIFO SQS будут охватывать используемый вариант использования, но пока недоступны во всех регионах SQS [изначально только в США (Огайо) и на Западе США (Орегон)]. Кроме того, Часто задаваемые вопросы SQS для очередей FIFO описывают заметные различия между стандартными и FIFO-очередями, которые следует рассматривать заранее, например пропускной предел 300 транзакций в секунду.
Исходный ответ
Было бы интересно использовать Amazon SQS, если бы это обеспечило некоторое подобие FIFO, но последовательность кажется полностью случайной.
Пока я еще не испытал полностью случайное упорядочение сообщений (это, вероятно, зависит от варианта использования и особенно объема сообщения, хотя), действительно нет гарантии FIFO, см. соответствующие FAQ Предоставляет ли Amazon SQS доступ к сообщениям с первым в первый раз (FIFO)?:
Нет, Amazon SQS не гарантирует доступ FIFO к сообщениям в Amazon Очереди SQS, главным образом из-за распределенной природы Amazon SQS. Если вам требуется конкретное упорядочение сообщений, вы должны разработать свой приложение для его обработки.
Учитывая, что вы проявили интерес к размещенному RabbitMQ, а также к StormMQ, я мог бы также указать вам на другие коммерческие предложения:
CloudAMQP
CloudAMQP - это RabbitMQ как услуга, таким образом, именно то, о чем вы просили, поскольку RabbitMQ поддерживает требуемое истинное упорядочение сообщений FIFO (см. Amazon SQS против RabbitMQ для хорошего сравнения).
В соответствии с их планами и ценами, это, по-видимому, предлагается только в качестве дополнения к провайдерам платформы первого класса, поэтому вам придется вникать в них по очереди:
- AppHarbor надстройка CloudAMQP
- Heroku надстройка CloudAMQP
- cloudControl надстройка CloudAMQP
IronMQ
IronMQ предлагает разработчикам готовые к использованию обмен сообщениями с высокой надежностью доставки и облачной оптимизацией производительности. Он соответствует ожиданиям в настоящее время на Software как услуге (SaaS), не в последнюю очередь в отношении простого понимания и особенно опубликованная модель ценообразования Как по праву критикуется от Sleavely, Iron.io, похоже, отказался от своей бывшей образцовой модели ценообразования - см. Alex Payne Как не продавать программное обеспечение в 2012 году для приятного разглагольства и советов относительно этого.
Я тестировал его в ближайшее время, но был доволен предлагаемыми функциями и языковой интеграцией (см. Клиентские библиотеки и Поддержка Beanstalkd) - учитывая их конкурентный ценовой тег и особенно свободный уровень, он является хорошим кандидатом для изучения очереди сообщений в качестве сервисного решения, не в последнюю очередь в сочетании со своим вторым продуктом IronWorker (простая в использовании и масштабируемая масштабируемая очередь задач [...]), которая обеспечивает функциональность, даже недоступную от AWS на сегодняшний день.
Заказ сообщений FIFO
К сожалению, мне не удалось выяснить, поддерживается ли true FIFO напрямую IronMQ, поэтому я действительно сомневаюсь в этом - соответственно, вам нужно будет подать запрос поддержки, чтобы проверить это.
Эван Шоуот Iron.io подтвердил, что IronMQ обеспечивает фактически заказ FIFO-сообщений (спасибо большое).