Как обрабатывать «мертвые» очереди в Amazon SQS? - PullRequest
1 голос
/ 23 сентября 2019

Я использую управляемую событиями архитектуру для одного из моих проектов.Amazon Simple Queue Service поддерживает обработку сбоев.

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

Мой вопрос , что должно произойти с DLQ позже? В DLQ тысячи сообщений застряли,Как они должны обрабатываться?

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

1 Ответ

1 голос
/ 23 сентября 2019

«Это зависит!»

Сообщения были бы отправлены в очередь недоставленных сообщений, потому что что-то случилось не так, как ожидалось.Это может быть связано с проблемой данных, тайм-аутом или ошибкой кодирования.

Вам следует:

  • Начать проверку сообщений, отправленных в очередь недоставленных сообщений
  • Попробуйте заново обработать сообщения, чтобы определить основную причину сбоя (но иногда это случайный сбой, который вы не можете воспроизвести)
  • Как только причина найдена, обновите системудля обработки этого конкретного варианта использования, а затем перейти к следующей причине

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

Вероятно, это хорошая идеянастроить какой-либо вид мониторинга таким образом, чтобы кто-то расследовал быстрее, а не накапливал тысячи сообщений.

...