Size: a a a

2021 June 23

R

Roman in pro.kafka
Подскажите пожалуйста, как можно сделать join двух топиков по последнему значению, не по ключу и не по значению? Другими словами джойн последних элементов, если значение пришло в топик 1 , то берем последний элемент из топика 2 и объединяем
In Topic 1: [k1: v1, k2: v2]
In Topic 2: [x5: y5, x6: y6]
Ожидаемый Out Topic [k1: x5, k2: x6]
источник

ЧП

Чёрный Плащ... in pro.kafka
А что такое последнее сообщение?
Если есть 5 партиций, в каждой из них есть сообщения.
Последнюю как вычислять

Кафка не гарантирует последовательность если несколько партиций
источник

IS

Igor Solomakha in pro.kafka
Джойн в окне, с каким ни будь хитрым условием на timestamp сообщения
источник

IS

Igor Solomakha in pro.kafka
Но да, задача не совсем корректна
источник

R

Roman in pro.kafka
тейм стемп это идея - но что-то так грязно будет 🙂
источник

R

Roman in pro.kafka
попытаюсь по-другому сформулировать ,
-  есть топик 1 куда приходят ивенты , которые должны иницировать новую связь
- есть топик 2 в котором хранится топ 10 кондидатов на связь
общего ключа у них нет , например действительно можно по тайм стемпу связывать - но рисково
источник

IS

Igor Solomakha in pro.kafka
проще всего два консьюмера и получать по одному сообщению оттуда и оттуда
источник

R

Roman in pro.kafka
Так а как два консьюмера объединить, типа отправлять в один топик и там их агрегировать по timestamp
источник

SS

Sergey Shevelev in pro.kafka
Коллеги, подскажите - возможно ли в процессе выбора лидера, продолжать консьюмить данные ?
источник

SB

S B in pro.kafka
А как тогда трекать новые офсеты?
источник

SS

Sergey Shevelev in pro.kafka
Это вопрос на ответ
источник

SS

Sergey Shevelev in pro.kafka
?
источник

SS

Sergey Shevelev in pro.kafka
А проще ?
источник

ЧП

Чёрный Плащ... in pro.kafka
я так думаю, имеется в виду:
если в процессе выбора лидера забирать данные, то неизбежно после окончания выборов консьюмеры получат уже другие партиции
и получается, что они или потеряют сообщения, или прочитают их дважды (в зависимости от того, коммитили они оффсеты или нет)
источник

SS

Sergey Shevelev in pro.kafka
А если не коммитить, а только считывать на время выбора ?
источник

ЧП

Чёрный Плащ... in pro.kafka
по идее тогда после окончания ребалансировки те же сообщения придут ещё раз
источник

SS

Sergey Shevelev in pro.kafka
Скипануть уже обработанные
источник

SS

Sergey Shevelev in pro.kafka
Суть в том чтобы не было задержки в передаче критичных данных
источник

ЧП

Чёрный Плащ... in pro.kafka
чтобы скипнуть - надо знать, что именно
если у вас консьюмер №2 прочитал сообщения во время ребалансировки, то надо как-то консьюмеру №7, который получил эту партицию, сказать: вот эти сообщения пропусти
источник

SS

Sergey Shevelev in pro.kafka
А читать возможно ? Что то никак (( . Задержка в 8 секунд
источник