170 похожих чатов

Кто-Нибудь знает способ в кафке консьюмером поллить сообщения только с

одной партиции, если консьюмер подписан на несколько?
То есть, у нас есть консьюмер, который подписан на топик 'test', в котором есть две партиции. Я делаю
consumer.poll(max_records=10)
и мне приезжает 10 сообщений из одной партиции обычно. Но если новых сообщений в одной партиции меньше 10, то консьюмер заглядывает еще и в другую партицию и выгребает новые сообщения еще и оттуда. Есть какой-то способ избежать такого поведения?

17 ответов

49 просмотров

А в чем проблема с ним?

Илья-Власов Автор вопроса
Tishka17
А в чем проблема с ним?

Роллбэки в случае ошибок очень тяжко делать. Изначально все роллбэки проектировались для схемы "1 консьюмер-1 партиция". Но все поменялось и чувствую, что сейчас нужно будет активно приседать начинать

Илья Власов
Роллбэки в случае ошибок очень тяжко делать. Изнач...

Ну сделай количество консьюмеров по количеству партиций

Илья-Власов Автор вопроса
Tishka17
Ну сделай количество консьюмеров по количеству пар...

Я не могу( Заказчик хочет вот так вот чтобы работало

Илья Власов
Я не могу( Заказчик хочет вот так вот чтобы работа...

Ну так если консьюмеров меньше чем партиций, они должны из нескольких читать

А большой поток в секунду?

Илья-Власов Автор вопроса
Tishka17
Ну так если консьюмеров меньше чем партиций, они д...

Да, я просто хочу, чтобы один поллинг читал из одной партиции. Это почти так и происходит, проблемы начинаются когда не хватает новых сообщений чтобы забить max_records и консьюмер идет в другую партицию

Илья Власов
Да, я просто хочу, чтобы один поллинг читал из одн...

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

Илья Власов
30 тысяч

Понял, коммитить каждое не вариант

Илья-Власов Автор вопроса
Tishka17
Так погоди. Если у тебя консьюмеров меньше чем пар...

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

Илья Власов
Консьюмер читает из нескольких. Мне нужно чтобы он...

Ну технически насколько я могу судить из апи клиента, так сделать можно.

Илья Власов
Консьюмер читает из нескольких. Мне нужно чтобы он...

а если поднять два коннекта внутри одного приложения?

Илья-Власов Автор вопроса
Alex
Ну технически насколько я могу судить из апи клиен...

Ну можно асайн делать после каждого поллинга по кругу, но это сильно замедлит все дело( Думаю вот накостылить подсчет сколько каких сообщений из каждой партиции пришло, чтобы знать где и насколько откатить нужно будет в случае проблем

Илья-Власов Автор вопроса
Tishka17
а если поднять два коннекта внутри одного приложен...

А как это поможет? Чет я туплю и не понимаю(

Илья Власов
А как это поможет? Чет я туплю и не понимаю(

будет как бы два клиента внутри одного приложения

Илья-Власов Автор вопроса
Tishka17
будет как бы два клиента внутри одного приложения

Да там хотят, чтобы типа поднималось столько реплик, сколько партиций. НО ВДРУГ ЧТО ДАВАЙ СДЕЛАЕМ ЧТОБЫ НЕСКОЛЬКО ПАРТИЦИЙ ТОЖЕ ОБРАБАТЫВАЛО)))

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта