Size: a a a

2020 March 13

A

Anatoly Soldatov in pro.kafka
Но в целом он работает нормально, да:)
Хотя тоже пока вопросы есть
источник

A

Anatoly Soldatov in pro.kafka
Мы переехали на него месяц назад где-то
источник

A

Anatoly Soldatov in pro.kafka
Andrey Ponomarev
С уберРепликатором так:
поднял два кафка кластера по 3 ноды. Между ними засунул этот репликатор. В сурс кластере запустил генерацию сообщений.
И они потекли в дест-кластер.
Дальше роняю 1 или 2 ноды на сурсе. Все ок. Поднимаю обратно — тоже.
У него все те же проблемы с офсетами, что и у первого мм
источник

A

Anatoly Soldatov in pro.kafka
Но нет проблем с ребалансом
источник

VG

Vik Gamov in pro.kafka
Anatoly Soldatov
У него все те же проблемы с офсетами, что и у первого мм
Наш репликатор могет Offset translation
источник

AP

Andrey Ponomarev in pro.kafka
Anatoly Soldatov
У него все те же проблемы с офсетами, что и у первого мм
Вот за это спасибо. Учтем
источник
2020 March 14

AP

Alexey Pikin in pro.kafka
добрый день, есть задача:
- валятся два потока данных, один - сами данные, второй - некий enrichment (user-id), связаны guid-ом
- нужно брать сообщения из первого потока, дополнять их данными из второго потока и вставлять во внешнюю базу для отчетов и тд
- потоки данных рассинхронизированы, и сообщения могут приезжать с дрифтом около 30-60 сек в любую сторону
- иногда enrichment для guid-а во второй поток может не приехать (это нормально), в этом случае надо подождать 1 минуту и просто забить user-id=0 и вставить сообщение в базу

я думал сделать все через Kafka Streams, но не совсем понимаю, можно ли обработать как-то нормально случай с таймаутом (когда сообщение во втором потоке не пришло). Подходит ли Kafka Streams для решения данной задачи? И если да, то как примерно имплементировать ситуацию с таймаутом, которую я описал?
источник

VG

Vik Gamov in pro.kafka
Alexey Pikin
добрый день, есть задача:
- валятся два потока данных, один - сами данные, второй - некий enrichment (user-id), связаны guid-ом
- нужно брать сообщения из первого потока, дополнять их данными из второго потока и вставлять во внешнюю базу для отчетов и тд
- потоки данных рассинхронизированы, и сообщения могут приезжать с дрифтом около 30-60 сек в любую сторону
- иногда enrichment для guid-а во второй поток может не приехать (это нормально), в этом случае надо подождать 1 минуту и просто забить user-id=0 и вставить сообщение в базу

я думал сделать все через Kafka Streams, но не совсем понимаю, можно ли обработать как-то нормально случай с таймаутом (когда сообщение во втором потоке не пришло). Подходит ли Kafka Streams для решения данной задачи? И если да, то как примерно имплементировать ситуацию с таймаутом, которую я описал?
Можно держать окно открытое в течение 30-60 мин
источник
2020 March 15

AB

Andriy Bashuk in pro.kafka
Привет ребят. Подскажите плиз, как сделать обработку сигналов
источник

AB

Andriy Bashuk in pro.kafka
Ну тоесть, например если я убиваю процес консюмера. Как вы такие кейсы обрабатываете?
источник

MK

Marko Kevac in pro.kafka
Также, как и в других программах, не связанных с kafka. Ловим сигнал и завершаем все gracefully.
источник

AB

Andriy Bashuk in pro.kafka
Marko Kevac
Также, как и в других программах, не связанных с kafka. Ловим сигнал и завершаем все gracefully.
я так и делаю. Если приходит сигнал, вызываю consumer->close()
источник

AB

Andriy Bashuk in pro.kafka
Просто об этом ниче не написано, и если например взять клиент rabbit то там в либе это уже вшито
источник

AB

Andriy Bashuk in pro.kafka
а тут надо самому думать и заботиться
источник

MK

Marko Kevac in pro.kafka
Вы щас наверное про Java говорите. Ничего про Java клиенты не знаю, сорри, но ИМХО это не дело либы ловить сигнал и как-то что-то обрабатывать. Слишком много магии.
Ловить сигналы и обрабатывать их, вызывая различного рода "деструкторы" - это обычная забота любого сервиса\демона, который долго работает.
источник

KT

Kirill T in pro.kafka
Andriy Bashuk
а тут надо самому думать и заботиться
Вы сами пишите? Никакого фреймворка не используете?
источник

AB

Andriy Bashuk in pro.kafka
Kirill T
Вы сами пишите? Никакого фреймворка не используете?
да
источник

KT

Kirill T in pro.kafka
Andriy Bashuk
Просто об этом ниче не написано, и если например взять клиент rabbit то там в либе это уже вшито
Мне кажется достаточно закрыть консьюмер
источник

KT

Kirill T in pro.kafka
У вас два кейса: штатное завершение и авария. Для штатного достаточно вызвать close. В случае аварии это уже головная боль либы и кафки
источник
2020 March 16

ὦan in pro.kafka
Добрый день - можете подсказать в чем проблема
Пытаюсь считать из топика, юзая регестри, но получаю ошибку
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to su.moneycare.service.credit.product.management.kafka.models.PartnerMessage
И вроде бы все правильно - и регестри поднялось, потому что отправить сообщение я смог и настройки правильные
https://pastebin.com/A1zkxKhQ
источник