Size: a a a

2020 December 16

k

kvadratura in pro.kafka
Andrey
Там еще local store тоже к таске привязан
говоря о kafka streams, таск получает несколько topic - partitions, если source topics больше одного. например, вы делаете join. одна таска будет исполнять join сообщений с partiton=42 в топике А и partition=42 в топике Б
источник

k

kvadratura in pro.kafka
если количество partitions в двух source на входе не соответствует, app не стартанёт
источник

A

Andrey in pro.kafka
А если я запустил еще один инстанс приложения с таким же application.id, возьмет ли он на себя какую то работу или он не трогает уже распределенные партиции?
источник

k

kvadratura in pro.kafka
Andrey
А если я запустил еще один инстанс приложения с таким же application.id, возьмет ли он на себя какую то работу или он не трогает уже распределенные партиции?
таски распределятся равномерно (насколько это возможно) по инстансам
источник

k

kvadratura in pro.kafka
.. что, к слову, может вызывать проблемы, если в одних partition траффик сильно больше, чем в других
источник

A

Andrey in pro.kafka
А сколько их изначально то? Просто если их изначально сто штук то можно новому инстансу 50 скинуть. Просто я не увидел где это можно настраивать
источник

A

Andrey in pro.kafka
Я имею ввиду сколько тасков создается когда делается стрим, логично было бы сделать количество тасков равное количеству партиций
источник

k

kvadratura in pro.kafka
их общее к-во по всем инстансам будет равно к-ву partitions в source topic
источник

k

kvadratura in pro.kafka
Andrey
Я имею ввиду сколько тасков создается когда делается стрим, логично было бы сделать количество тасков равное количеству партиций
так и есть. есть топик с 100 partitions, стартуем 1 инстанс - он получит 100 тасков. стартуем второй - он получит 50
источник

k

kvadratura in pro.kafka
50 останутся на прежнем
источник

A

Andrey in pro.kafka
А таск всегда выполняется в отдельном треде? То есть при ста партиций и одном инстансе я получу 100 тредов?
источник

k

kvadratura in pro.kafka
Andrey
А таск всегда выполняется в отдельном треде? То есть при ста партиций и одном инстансе я получу 100 тредов?
нет. получите 100 тасков, исполняемых одним тредом, round robin. регулируется конфигом
источник

k

kvadratura in pro.kafka
default = 1
источник

A

Andrey in pro.kafka
Понял, спасибо
источник

NC

Nigerian Currywurst in pro.kafka
Привет. В одном топике много схем, аврой не пользуемся. Коллеги-умницы засунули messageType в пейлоад(ака сам жсон содержит свой тип) - spring-kafka по дефолту смотрит в хедер. Как сконфигурировать консьюмера, чтобы в @KafkaHandler метод прилетал десереализированный объект?
источник
2020 December 17

A

Andrei in pro.kafka
Nigerian Currywurst
Привет. В одном топике много схем, аврой не пользуемся. Коллеги-умницы засунули messageType в пейлоад(ака сам жсон содержит свой тип) - spring-kafka по дефолту смотрит в хедер. Как сконфигурировать консьюмера, чтобы в @KafkaHandler метод прилетал десереализированный объект?
ExtendedDeserializer можно задать, чтобы смотреть хереды в момент десериализации.
Метод для @KafkaHandler может быть generic, по маркер-интерфейсу например.
Если тип в самом json, jackson умеет брать тип из поля.
источник

NC

Nigerian Currywurst in pro.kafka
Ух, вроде нашел.  JsonDeserializer.VALUE_TYPE_METHOD и метод который возвращает JavaType
источник

NC

Nigerian Currywurst in pro.kafka
Дока говно конечно
источник

NC

Nigerian Currywurst in pro.kafka
Нигде не написано про статический метод
источник

YL

Yuri Lyulchenko in pro.kafka
Коллеги, доброго дня. Вопрос по Producer API для Kafka Streams. Есть свой Producer, в ProducerConfig заданы стандартные сериализаторы и подключение к кафке. В Топик-источник попадает, скажем, 6000 сообщений в минуту. Есть процессор, который определенным образом анализирует данные и результат записывает в синк-топик, при этом запись осуществляется с помощью вышеуказанного продюсера. Ожидаю, что эта обработка и запись в топик займет также минуту, и в результате также 6000 сообщений в этот топик лягут. По факту, это длится 2-3 минуты. Можно ли "убыстрить" свой продюсер, мб какие-то доп параметры следует в конфиг задать?
источник