опыта.
Ситуация:
Консюмер получил сообщение из Реббита, по какой-то причине (уж и не знаю бывают ли такие причины) не смог его обработать. Nack. Сообщение вернулось в голову очереди. Затем консюмер опять получает то же сообщение и опять Nack и т.д. по кругу. Получили пробку в очереди.
Вопрос 1: надо ли предусмотреть и предупредить такую ситуацию за счёт очередей повторных попыток?
Вопрос 2: У кого-нибудь такие ситуации реально встречались? Я пока не могу придумать ни одной объективной причины, почему консюмер вдруг не сможет систематически обработать одно и тоже сообщение.
2. Чаще чем вам может показаться) предусматривать это обязательно. И при невалидности / другой объективной причины невозможности обработки конкретного сообщения - необходимо использовать реджект. Ориентироваться на признак ределиверед - я бы не рекомендовал. Если проьлема действительно стоит остро и однозначного решения о таком сообщении принять невозможно - можно воспользоваться очередями типа quorum и их функционалом poised message
Обсуждают сегодня