Size: a a a

2019 October 25

NR

Nikita Ryanov in pro.kafka
Добрый день! Есть задача сохранять данные из топика в файл. Хочу использовать для этого Kafka connect file sink. Возник только один вопрос: можно ли настроить синк так, чтобы он создавал новый файл, например, каждый день или по достижению определённого размера?
источник

IS

Igor Sam in pro.kafka
Николай
Добрый день. Нормально ли использовать Kafka Connect для передачи данных в\из собственных сервисов? Кратко о юзкейсе: имеется несколько терминалов ручного ввода данных (софт наш) и некая мастер-система (может быть как наша, так и внешняя), необходимо из мастер-системы передавать справочники на терминалы и изменения с терминалов обратно в мастер-систему. Терминалы могут работать автономно, без мастер-системы, в этом случае справочники на терминалах редактируют руками (коллизии при появлении мастер-системы для данного примера не важны, главное, что терминалы не привязаны жёстко к другим системам). Думал про что-нибудь простое типа Rabbit'а, но во-первых, Кафка уже используется для других сервисов, и плодить зоопарк не хочется, во-вторых, могут появляться новые терминалы, которые с минимальными усилиями должны подключаться к системе и получать полные справочники, в-третьих, нужно интегрироваться с внешними системами, которые невозможно доработать, и тут бы хорошо зашли коннекторы кафка коннекта. Как я вижу, есть три варианта решения:
1. Использовать в собственных сервисах Consumer\Producer API. Не нравится тем, что как мастер-система, так и терминалы могут работать автономно, даже не зная о Кафке. Следовательно придётся поддерживать два режима работы. Также придётся использовать распределенные транзакции или создавать какие-то собственные очереди на отправку и обработчики, отправляющие данные в кафку. И всё это никак не помогает связаться с внешними системами, для которых все равно надо будет писать отдельный сервис или коннектор, как в следующих вариантах
2. Написать отдельные сервисы, использующие Consumer\Producer API, и работающие как посредники между Кафкой и системами. Из плюсов - легко написать необходимую нам логику. Минусы - сложность в поддержке, мониторинге, организации отказоустойчивости, и т.д., в общем всё то, что даёт кафка коннект
3. Собственно, Кафка Коннект с кастомным rest-коннектором для наших сервисов и JDBC\Debezium\кастомным для внешних систем. Может даже JDBC подойдёт и для наших систем. Минус - все равно надо будет писать свои сервисы для трансформации данных между системами, но это уже можно сделать или на кафка стримах, или на каком-нибудь флинке\спарке, должно быть все равно проще и удобнее, чем п.2.
В недавнем митапе Леруа Мерлена был похожий доклад, но там как я понял все системы были внешними, то есть п.1 не подходил.
Почему нет. Если там нет трансформаций, то нормальное решение, имхо
источник

AR

Alexander Ryzhenko in pro.kafka
Nikita Ryanov
Добрый день! Есть задача сохранять данные из топика в файл. Хочу использовать для этого Kafka connect file sink. Возник только один вопрос: можно ли настроить синк так, чтобы он создавал новый файл, например, каждый день или по достижению определённого размера?
Судя по доке и исходникам коннектора - нет.
Можно прикрутить какой-то logrotate системный
Либо допилить коннектор самостоятельно
источник

NR

Nikita Ryanov in pro.kafka
Понял спасибо!
источник

VG

Vik Gamov in pro.kafka
Я напоминаю
Уже на следующей неделе!
источник

VG

Vik Gamov in pro.kafka
​​Внезапно Kafka meetup в Питере!
Я (Виктор Гамов) расскажу про новые фичи в KSQL, а коллеги из Nexign расскажут про гексагональную архитектуру!

https://www.meetup.com/St-Petersburg-Kafka/events/265846058/
источник

АБ

Алексей Быстрый in pro.kafka
Gleb Mekhrenin
лидер кто?
Лидер чего?
источник

АБ

Алексей Быстрый in pro.kafka
Лидеры топиков размазаны
источник

BK

Bohdan Korinnyi in pro.kafka
Привет!
В Schema Registry есть тип compatibility - FORWARD_TRANSITIVE. Указано что используя его можно удалять optional поля, как можно указать что поле optional в avro schema?
источник

NR

Nikita Ryanov in pro.kafka
Нужно указать дефолтное значение
источник
2019 October 27

VG

Vik Gamov in pro.kafka
Welcome! Откуда вестимо?
источник

AM

Aset Madraimov in pro.kafka
Vik Gamov
Welcome! Откуда вестимо?
Большая часть - начинающие коллеги по направлению bigdata. Привет из Алматы))
источник

VG

Vik Gamov in pro.kafka
Aset Madraimov
Большая часть - начинающие коллеги по направлению bigdata. Привет из Алматы))
источник

VG

Vik Gamov in pro.kafka
Привет!
источник

O

Oleg in pro.kafka
Vik Gamov
Привет!
Привет! Будем читать, изучать. ))))
источник

AN

Alibek Nurpeissov in pro.kafka
Всем привет🖐️))
источник

DD

Dmitry Dobrynin in pro.kafka
источник
2019 October 28

SB

Sergei Beilin in pro.kafka
Bohdan Korinnyi
Привет!
В Schema Registry есть тип compatibility - FORWARD_TRANSITIVE. Указано что используя его можно удалять optional поля, как можно указать что поле optional в avro schema?
в Авро, OPTIONAL == "has default value"
источник

AS

Alexander Sibiryakov in pro.kafka
Sergey Pichkurov
мониторить кол-во produced сообщений в топик?
> Можно ли быть уверенным, что если мне поступают сообщения из спец. топика с ожидаемой частотой, то и с целевыми топиком/партицией тоже все ок?
это не гарантируется. они могут быть находиться на разных брокерах, например.
и еще, было бы не плохо понимать какие действия предполагается совершать ?
это такой backpressure или что-то больше ?
@Scarbo Антон, на мой взгляд это лучшее из предложенного. Только я бы это назвал по-другому. Мониторинг оффсета последнего, полученного сообщения в топике. Нужно посмотреть в API брокера, это там есть. Что получаете? Простую проверку на активность своего продюсера, если смещения не меняются долгое время, значит не пишет. Писать хартбиты на мой взгляд бессмыслено, для это цели могут использоваться сами сообщения. Сделать health check через HTTP на публикующем процессе, еще более бредовая идея. Producer, может быть мертв, а HTTP в прекрасной форме. Вам придётся пробрасывать результат от вызова send() в ответ health check, и в этом легко накосячить.
источник

D

Dauren in pro.kafka
Гайс всем привет, в общем такая трабла, читаю данные с кафки, все ок сервис работает, но потом внезапно шлет координатору LeaveGroup, в чем может быть причина?
источник