Комментарии 2
Добрый день. Кажется, что тем не очень раскрыта, на самом деле. Librdkafka, лежащая под многим фреймворками Kafka настолько умная развитая, что сообщения, которые вы в нее заслали могут находиться в ее внутренних буферах и даже если брокер отвалится, то сообщение может быть доставлено после восстановления соединения. В этом случае try..catch
не знаю как вам помогут. Если ошибка протокольная (AVRO/JSON) - ОК, но если ошибка более комплексная и связана с работой брокеров, то не вполне очевидно как делать DLQ. Возможно, что если бы вы раскрыли этот вопрос практически, пользы было бы больше.
Тут в основном про бизнес-логику, чтобы очередь не застряла. Если ошибка протокольная, то в DLQ как раз отправить будет непросто, потому что непонятно, что именно отправлять.
С буферами тоже большая проблема, в джавовой библиотеки буфер по умолчанию на 32 мегабайта и туда легко могут войти десятки тысяч одинаковых записей, если продолжать ретраить.
Очередь недоставленных сообщений для обработки ошибок в Apache Kafka