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

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

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

17 ответов

26 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann ٩( 💢•̀ з•́)و Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта