Ответ эксперта

Можно ли установить потерю сообщений в очереди?

Вопрос по направлению: Экспертиза исходного кода на Java

Ответ

Это зависит от того, как устроен обмен и что сохранилось. В системах вроде Kafka сообщения лежат в потоке ограниченное время — обычно около недели, но срок настраивается, — и их можно выгрузить повторно; читать их следует отдельным потребителем, чтобы не сдвинуть отметку прочитанного у рабочего. В классических очередях вроде RabbitMQ сообщение исчезает, как только его забрал получатель, поэтому «выгрузить очередь задним числом» там нельзя, и картину восстанавливают по журналам отправителя и получателя.

По этим источникам эксперт устанавливает, было ли сообщение отправлено, дошло ли до получателя и с какой ошибкой прервалась обработка. Ещё об очереди недоставленных сообщений: она существует, только если её специально настроили, поэтому отсутствие там сообщения само по себе ничего не доказывает. Обычная гарантия доставки означает «не менее одного раза»: повторная обработка штатна, а дефект — отсутствие защиты от повторов там, где она требовалась.

Поэтому вопрос ставят не «терялись ли сообщения вообще», а о конкретных документах, потоке и периоде. Способ выгрузки продумайте заранее: неверное чтение меняет состояние системы. Если экспертиза уже назначена, порядок сбора согласуют через суд или орган расследования, а не напрямую с экспертом.

Актуализировано
Обсудить задачу

Нужна экспертиза или консультация?

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

  • Подберём специалиста
  • Поможем с вопросами
  • Оценим срок и стоимость
Оценить материалы или позвоните 8 (800) 333-24-09 Бесплатный звонок по России