Может ли RabbitMQ работать в некотором смысле, я могу определить своего потребителя, что у него есть предел потребления одного и того же сообщения. т. е. мой потребитель делает базовое отклонение с enqueue = true. И он будет бесконечно продолжать слушать одно и то же сообщение. Я не говорю о TTL на стороне очереди. Но контроль/конфигурация над потребителем, чтобы сказать, что я хочу использовать это только 5 раз, а затем отправить его в другую очередь, например. Может ли это быть достигнуто?Может ли пользователь RabbitMQ настроить потребление только определенного количества попыток для одного и того же сообщения?
ответ
Это может быть сделано на уровне приложения или через TTL и Dead Letter Exchanges. Существует не известный способ, что вы хотите на брокера стороне (и я не вижу причин, почему вы не можете сделать это на стороне потребителя)
PS: просто сделать комментарий виднее
Основная идея для создания пользовательского свойства ttl (a-la hops count в пакетах TCP/IP) и уменьшения его при каждом использовании сообщения (и повторного публикации тела сообщения с новыми реквизитами). Когда он достигнет нуля - опубликуйте его в другой очереди.
Так что да, я считаю, что это можно сделать. Вам нужно будет кэшировать теги доставки полученных сообщений, а также отслеживать количество отказов. После того, как количество отказов для конкретного сообщения велико, и пять, а затем опубликуют сообщение в другую очередь. Вам также потребуется ACK вернуться к RabbitMQ для полученного сообщения и, вероятно, создать новое сообщение (с новым ярлыком доставки) и опубликовать его.
Привет, tkeE2036. Есть ли способ отслеживать количество отказов со стороны брокера в rabbitMQ? Или мне нужно вручную сохранить статус в БД и отслеживать отбракованный счет оттуда. –
- 1. RabbitMQ: потребление только одного сообщения за раз из нескольких очередей
- 2. Несколько разных слизней для одного и того же сообщения Wordpress
- 3. RabbitMQ приостанавливает потребление очереди
- 4. отправка и получение того же сообщения с rabbitMQ
- 5. Как настроить потребитель RabbitMQ на потребление из непустой очереди?
- 6. RabbitMQ не может отправлять и получать от того же процесса
- 7. Может ли OpenMPI гарантировать получение полученного сообщения от одного и того же процесса?
- 8. Может ли конечная точка NServiceBus подписываться на несколько издателей одного и того же сообщения?
- 9. Добавление только определенного числа одного и того же объекта в массив?
- 10. Объединение нескольких push-сообщений для одного и того же приложения
- 11. Потребление и подтверждение сообщения DMLC
- 12. RabbitMQ Автоматическое потребление
- 13. MassTransit регистрации нескольких потребителей одного и того же типа сообщения
- 14. Идентичные последовательные сообщения от одного и того же пользователя
- 15. Возврат весеннего опрокера по исключению после определенного количества повторных попыток
- 16. Эффективность при использовании меньшего количества файлов для одного и того же количества классов?
- 17. Как установить несколько попыток повтора в RabbitMQ?
- 18. Сравнение двух списков одного и того же пользователя определенного типа
- 19. Удаление одного и того же текста в начале каждого сообщения
- 20. RabbitMQ получает неподтвержденные сообщения
- 21. Может ли разделение одного и того же IP-адреса означать совместное использование одного и того же сервера?
- 22. Повторное подключение TIdTCPServer для одного и того же пользователя входа
- 23. RabbitMQ Потребление Идентификатор сообщения на основе (C# API)
- 24. PHP: Вывод только один раз для одного и того же идентификатора сообщения и добавления носителя этого сообщения
- 25. Предоставления пользователей определенного количества попыток, пока программа выходит
- 26. RabbitMQ DeDup как сообщения
- 27. NHibernate Иногда возвращает null для одного и того же запроса
- 28. несколько экземпляров одного и того же типа
- 29. Потребляйте сообщения RabbitMQ с порядком и контекстом
- 30. То же содержание для того же пользователя и того же сообщения в Django Комментарии не сохраняются
TTL скажет, что сообщения в этой очереди должны покинуть очередь после X раз. Это не совсем то, что я хочу. Я хочу от потребителя, чтобы настроить его на то, чтобы использовать одно и то же сообщение определенное количество времени, а затем отправить его в другую очередь. Можно ли это сделать с конца потребителя? не могли бы вы дать небольшой пример того, как это сделать? –
Я не знаю точного синтаксиса java, как это сделать, но основная идея заключается в создании пользовательского свойства ttl (a-la hops count в пакетах TCP/IP) и уменьшении его при каждом потреблении сообщения. Когда он достигнет нуля - опубликуйте его в другой очереди. – pinepain
Привет, zaq178miami, знаете ли вы API-вызовы для установки/получения TTL от cunsumer? –