RabbitMQ сообщения о переупорядочении

RabbitMQ отмечает все флажки для проекта, который я планирую, за исключением одного. Я бы попросил разных рабочих прослушивать в очереди, и важно, чтобы они сначала обрабатывали самые новые сообщения (т. е. последний порядковый номер) (LIFO).

Мое приложение таково, что новые сообщения в значительной степени заменяют старые сообщения. Если у вас есть лишние рабочие, вы все равно можете обрабатывать старые сообщения, но важно, чтобы в первую очередь были выполнены новые.

После обхода различных форумов и тому подобного я могу увидеть только одно решение, а именно: клиент должен обработать сообщение он должен сначала:

  • принять все сообщения
  • переупорядочить их в соответствии с порядковым номером
  • повторно отправить в очередь
  • потребить первое сообщение

Уродливо и проблематично, если клиент умирает на полпути. Но у кого-нибудь есть решение получше.

Мое исследование основано (частично) на:

Примечание: ожидаемый трафик сообщений будет примерно будет в диапазоне 1 сообщение в час для одних очередей и 100 сообщений в минуту для других. Так что ничего звездного.

9
задан tshepang 4 June 2014 в 21:57
поделиться