Коллеги, привет. Подскажите, пожалуйста, по логике работы kafkalistener в spring kafka.


Правильно ли я понял, что при сбойном сообщении consumer пытается 10 раз его прочитать, затем перепрыгивает на следующее сообщение и если его удалось вычитать, то оффсет смещается и идёт дальше?

7 ответов

30 просмотров

Привет. Не встречал подобного описания поведения консумера. По доке подобных прыжков ни кафке ни в спринг кафке не предусмотрено. Есть ссылка? на что ориентируетесь?

Chuck U.-Farley Автор вопроса

Да на странную ситуацию, которую не могу понять Есть listener, который вычитывает сообщения и перекладывает их в oracle. Ack.Acknowledge делается после сохранения, в настройках consumer стоит manual_intermediate И все бы хорошо, но появились пропуски в сохранённых сообщениях. Сформировали тестовое кривое сообщение, бросили в топик, понаблюдали за логами - были попытки отправки, потом прекратились Далее отправили правильное сообщение и оно дошло С одной стороны хорошо, что не блокируется разбор сообщений, с другой понять бы хочется как это вообще работает

Chuck U. Farley
Не, manual_intermediate

я вот о этом: "The listener container for the replies MUST be configured with AckMode.MANUAL or AckMode.MANUAL_IMMEDIATE; the consumer property enable.auto.commit must be false (the default since version 2.3). To avoid any possibility of losing messages, the template only commits offsets when there are zero requests outstanding, i.e. when the last outstanding request is released by the release strategy. After a rebalance, it is possible for duplicate reply deliveries; these will be ignored for any in-flight requests; you may see error log messages when duplicate replies are received for already released replies."

Chuck U.-Farley Автор вопроса

Явно не указано, значит false должен быть, судя по тексту

Chuck U. Farley
Явно не указано, значит false должен быть, судя по...

Попробуйте включить debug у kafka client и spring kafka - узнаете кто и когда коммитит оффсеты

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта