RabbitMQ отмечает все флажки для проекта, который я планирую, за исключением одного. Я бы попросил разных рабочих прослушивать в очереди, и важно, чтобы они сначала обрабатывали самые новые сообщения (т. е. последний порядковый номер) (LIFO).
Мое приложение таково, что новые сообщения в значительной степени заменяют старые сообщения. Если у вас есть лишние рабочие, вы все равно можете обрабатывать старые сообщения, но важно, чтобы в первую очередь были выполнены новые.
После обхода различных форумов и тому подобного я могу увидеть только одно решение, а именно: клиент должен обработать сообщение он должен сначала:
Уродливо и проблематично, если клиент умирает на полпути. Но у кого-нибудь есть решение получше.
Мое исследование основано (частично) на:
Примечание: ожидаемый трафик сообщений будет примерно будет в диапазоне 1 сообщение в час для одних очередей и 100 сообщений в минуту для других. Так что ничего звездного.