Как заставить сообщения Amazon sqs придерживаться FIFO


Есть какой-нибудь способ, который можно использовать, чтобы потреблять сообщения ЗК Amazon в настоящий ФИФО? Я попытался задержать доставку сообщений из конфигурации, но это не помогло.

3 4

3 ответа:

Amazon SQS только что получил очереди FIFO с обработкой и дедупликацией ровно один раз:

Сегодня мы делаем SQS еще более мощными и гибкими с поддержкой для очередей FIFO (first-in, first-out). мы разворачиваем этот новый тип очереди в двух регионах теперь , и планируют сделать его доступным в многие другие в начале 2017 года.

Эти очереди предназначены для того, чтобы гарантировать обработку сообщений. ровно один раз, в том порядке, в котором они есть. отправлено, причем без дубликатов . [...]

[Курсив мой]

Как было подчеркнуто, эти новые очереди FIFO SQS сделают любые специальные соображения для использования сообщений Amazon SQS в true FIFO ненужными, но пока не доступны во всех регионах SQS [первоначально только в восточной части США (Огайо) и западной части США (Орегон)].

Короче говоря, нет:

Вопрос: обеспечивает ли Amazon SQS доступ к сообщениям по принципу "первый вход-первый выход" (FIFO)?

Нет, Amazon SQS не гарантирует FIFO доступ к сообщениям в очередях Amazon SQS, главным образом из-за распределенного характера Amazon SQS. Если вам требуется определенный порядок сообщений, вы должны разработать приложение для его обработки.

Http://aws.amazon.com/sqs/faqs/

Сообщения, которые должны поступать в определенном порядке, могут не подходить для стандартной очереди SQS. Однако вы можете установить счетчик последовательности сообщений при отправке сообщения. На приемном конце вы можете продолжать обрабатывать сообщения, если последовательность правильная. В случае, если приходит сообщение из последовательности, подождите, пока не придет правильное сообщение, а затем обработайте правильное сообщение последовательности и другие, которые пришли между ними.

Введите описание изображения здесь

17 ноября 2016 года очередь FIFO была введена в некоторые области (US East (Ohio) и US West (Oregon)), которые дополняют стандартную очередь. Порядок отправки и получения сообщений строго сохраняется, сообщение доставляется один раз и остается доступным до тех пор, пока потребитель не обработает и не удалит его; дубликаты не вводятся в очередь. Очереди FIFO используют те же действия API, что и стандартные очереди, а механика получения и удаления сообщений и изменения времени ожидания видимости одинакова. Однако при отправке сообщений необходимо указать идентификатор группы сообщений. Введите описание изображения здесь

Введите описание изображения здесь