Size: a a a

2020 April 06

AP

Andrey Ponomarev in pro.kafka
Dmitry
я запускаю на той же тачке, в которую собираюсь лить данные
Вот если ему доступны брокеры источника, то все должно быть Ок
источник

NK

Nikita Kiselev in pro.kafka
Всем привет! Вопрос нубский совершенно - естьтопик, в него скадываются сообщения об обновлении какоф-то информации. На топик подписано два экземпляра одного и того же сервиса. Можно ли сделать так, чтобы собощения получал только один из экземпляров сервиса?
источник

DP

Denis Pavlyuchenko in pro.kafka
нужно воспользоваться consumer group
источник

NK

Nikita Kiselev in pro.kafka
втопике одна партиция, а в группе N-косньюмеров?
источник

DP

Denis Pavlyuchenko in pro.kafka
в топике может быть любое количество партиций, и пусть есть одна косньюмер группа. Тогда каждое сообщение из топика будет потребляться каким-то одним консьюмером из группы
источник

NK

Nikita Kiselev in pro.kafka
а если добавлю вторую группу для другого сервиса, то по лоиге обе группы прочитают одно сообщение, но по одному разу?
источник

DP

Denis Pavlyuchenko in pro.kafka
в рамках второй группы, опять таки, каждое сообщение из топика кем-то будет потребляться (то есть, консьюмер группы не зависимы)
источник

NK

Nikita Kiselev in pro.kafka
ага супер, то что надо )
источник

S🕶

Sander 🕶 in pro.kafka
Всем привет,
источник

S🕶

Sander 🕶 in pro.kafka
использую Spring, Kafka, Schema Registry, Avro, у меня такой вопросы:
1) у меня есть 2-два микросервиса и есть "schem-ы avro", эта схема используется как контракт между двумя микросервисами,
чтоб отправленную строку можно было Serialize, Deserialize в pojo object.

Однако как мне сделать эту schema "shared", для двух микросервисов? я ведь не буду копипейстить файлик этот для каждого микросервиса.

2) У нас есть Schema Registry, куда добавляются мои schema, но добавляется только после первой отправки сообщения через kafka,
мне кажется что все схемы которые существуют в проекте - уже должны быть добавлены в kafka, а не после первой отправки!

Потому что если schema которую мы отправляем через kafka будет неправильной, то есть вероятность что все приложения поломаются,
consumer-ы не смогут с таким работать, поэтому все схемы уже должны быть в kafka, как это можно сделать?
источник

МИ

Морозов Иван in pro.kafka
Sander 🕶
использую Spring, Kafka, Schema Registry, Avro, у меня такой вопросы:
1) у меня есть 2-два микросервиса и есть "schem-ы avro", эта схема используется как контракт между двумя микросервисами,
чтоб отправленную строку можно было Serialize, Deserialize в pojo object.

Однако как мне сделать эту schema "shared", для двух микросервисов? я ведь не буду копипейстить файлик этот для каждого микросервиса.

2) У нас есть Schema Registry, куда добавляются мои schema, но добавляется только после первой отправки сообщения через kafka,
мне кажется что все схемы которые существуют в проекте - уже должны быть добавлены в kafka, а не после первой отправки!

Потому что если schema которую мы отправляем через kafka будет неправильной, то есть вероятность что все приложения поломаются,
consumer-ы не смогут с таким работать, поэтому все схемы уже должны быть в kafka, как это можно сделать?
Вам нужно класть схему в реджистри при создании топика. Для этого можно воспользоваться либо рест интерфейсом реджистри, либо джавовой либой-оберткой
источник

S🕶

Sander 🕶 in pro.kafka
Морозов Иван
Вам нужно класть схему в реджистри при создании топика. Для этого можно воспользоваться либо рест интерфейсом реджистри, либо джавовой либой-оберткой
это наверное ответ на вопрос 2, у меня топик создается Spring-ом автоматически, я не сильно знаю как это должно делаться на самом деле, если допустим это был бы продакшен! Можно пожалуйста по подробнее.
источник

МИ

Морозов Иван in pro.kafka
Sander 🕶
это наверное ответ на вопрос 2, у меня топик создается Spring-ом автоматически, я не сильно знаю как это должно делаться на самом деле, если допустим это был бы продакшен! Можно пожалуйста по подробнее.
В общем у реджистри есть интерфейс, через который туда можно явно положить схему, которая будет привязана к топику через name convention. Этим интерфейсом можно пользоваться независимо от процесса создания топика
источник

S🕶

Sander 🕶 in pro.kafka
Морозов Иван
В общем у реджистри есть интерфейс, через который туда можно явно положить схему, которая будет привязана к топику через name convention. Этим интерфейсом можно пользоваться независимо от процесса создания топика
1) а как быть с первым вопросом? допустим я положил в schema regestiry свою схему, но у меня так же есть два отдельных проекта!
Который требуется эти scehma файлики, ибо Java проект берет "*.avsc" файл и компилирует в свой pojo class,
который надо использовать для отправки сообщений через kafka.

Мне эти файлики где хранить? Как вообще в реальных проектах делается.
источник

EI

Eugene Ivlev in pro.kafka
Sander 🕶
1) а как быть с первым вопросом? допустим я положил в schema regestiry свою схему, но у меня так же есть два отдельных проекта!
Который требуется эти scehma файлики, ибо Java проект берет "*.avsc" файл и компилирует в свой pojo class,
который надо использовать для отправки сообщений через kafka.

Мне эти файлики где хранить? Как вообще в реальных проектах делается.
Может сделать оба проекта зависимыми от какого-то common-schema проекта, содержащего схему?
источник

S🕶

Sander 🕶 in pro.kafka
Eugene Ivlev
Может сделать оба проекта зависимыми от какого-то common-schema проекта, содержащего схему?
ну это тоже вариант, просто знаю что для rest api контракты делают отдельными проектами, типо каждый контракт вроде отдельный проект,
но я с этим не работал еще ...
источник

S🕶

Sander 🕶 in pro.kafka
тут можно по сути так же сделать, но может есть еще какие-нибудь варианты, просто хотелось бы все услышать или хотя бы парочку.
источник

S🕶

Sander 🕶 in pro.kafka
Eugene Ivlev
Может сделать оба проекта зависимыми от какого-то common-schema проекта, содержащего схему?
спасибо большое за подсказку
источник

VG

Vik Gamov in pro.kafka
Sander 🕶
использую Spring, Kafka, Schema Registry, Avro, у меня такой вопросы:
1) у меня есть 2-два микросервиса и есть "schem-ы avro", эта схема используется как контракт между двумя микросервисами,
чтоб отправленную строку можно было Serialize, Deserialize в pojo object.

Однако как мне сделать эту schema "shared", для двух микросервисов? я ведь не буду копипейстить файлик этот для каждого микросервиса.

2) У нас есть Schema Registry, куда добавляются мои schema, но добавляется только после первой отправки сообщения через kafka,
мне кажется что все схемы которые существуют в проекте - уже должны быть добавлены в kafka, а не после первой отправки!

Потому что если schema которую мы отправляем через kafka будет неправильной, то есть вероятность что все приложения поломаются,
consumer-ы не смогут с таким работать, поэтому все схемы уже должны быть в kafka, как это можно сделать?
источник

VG

Vik Gamov in pro.kafka
источник