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

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

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

17 ответов

54 просмотра

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта