Size: a a a

2020 September 25

VG

Vik Gamov in pro.kafka
VladMl
Да, я так что раз делал
Прям в лямбду?
источник

DL

Denis Larionov in pro.kafka
Да
источник
2020 September 26

VG

Vik Gamov in pro.kafka
nice
источник
2020 September 27

DS

Dmitriy Smirnov in pro.kafka
Ребята, всем привет! Здесь можно посоветоваться касательно apche kafka?
источник

SB

S B in pro.kafka
Dmitriy Smirnov
Ребята, всем привет! Здесь можно посоветоваться касательно apche kafka?
Привет! Главное, что в не Франц Кафка.
источник

DS

Dmitriy Smirnov in pro.kafka
1. Есть некий топик для которого настроено больше одной партиции
2. Несколько инстансов приложения подписанных на данный топик (происходит параллельная обработка событий)
3. Сообщение публикуемое в топике имеет следующую структуру:
{
   "group_id": 1,
   
   // другие данные
}
Существует ли способ исключить параллельную обработку сообщений имеющих одно и тоже значение параметра "group_id" при наличии нескольких партиций и потребителей?
источник

DS

Dmitriy Smirnov in pro.kafka
т.е. сделать последовательной для событий с одним group_id
источник

SB

S B in pro.kafka
Dmitriy Smirnov
1. Есть некий топик для которого настроено больше одной партиции
2. Несколько инстансов приложения подписанных на данный топик (происходит параллельная обработка событий)
3. Сообщение публикуемое в топике имеет следующую структуру:
{
   "group_id": 1,
   
   // другие данные
}
Существует ли способ исключить параллельную обработку сообщений имеющих одно и тоже значение параметра "group_id" при наличии нескольких партиций и потребителей?
Существует.
источник

SB

S B in pro.kafka
Ключ рекорда Кафки да будет твоим group_id. Тогда один и тот же алгоритм хеширования будет отправлять все сообщения по той же самой группе в ту же самую партицию.
источник

SB

S B in pro.kafka
А партиция не параллелится.
источник

VG

Vik Gamov in pro.kafka
Dmitriy Smirnov
Ребята, всем привет! Здесь можно посоветоваться касательно apche kafka?
That's why we're here!
источник

SB

S B in pro.kafka
S B
Ключ рекорда Кафки да будет твоим group_id. Тогда один и тот же алгоритм хеширования будет отправлять все сообщения по той же самой группе в ту же самую партицию.
Не путай айди группы, которую ты в свой джейсон выпихнул с group-id читателей, настройка Кафки.
источник

DS

Dmitriy Smirnov in pro.kafka
S B
Ключ рекорда Кафки да будет твоим group_id. Тогда один и тот же алгоритм хеширования будет отправлять все сообщения по той же самой группе в ту же самую партицию.
Да, придумал не самую удачную структуру данных, ну имеется в виду какой либо параметр (user_id к примеру). Я примерно понял концепцию, сейчас буду пробовать. А есть ли возможность вынести из программы данный функционал и перенести в кафку, к примеру в кафка стримс (честно говоря никогда этим не пользовался, по этому прошу прощения если этот вопрос звучит глупо)
источник

SB

S B in pro.kafka
Dmitriy Smirnov
Да, придумал не самую удачную структуру данных, ну имеется в виду какой либо параметр (user_id к примеру). Я примерно понял концепцию, сейчас буду пробовать. А есть ли возможность вынести из программы данный функционал и перенести в кафку, к примеру в кафка стримс (честно говоря никогда этим не пользовался, по этому прошу прощения если этот вопрос звучит глупо)
Нет, партицировать по конкретному полю придётся программисту. Извини что так, передам ребятам что это неудобно. А Кафка Стримс с приставкой Стримс не просто так; верь или нет, но этот фреймворк обеспечивает потоковую обработку поверх Кафки и если у тебя нет реальной задачи, которая решается как обработка одного или многих взаимосвязанных или нет потоков (рекордов Кафки в разных топиках), то не нужно это тянуть как ещё одну зависимость.
источник

DS

Dmitriy Smirnov in pro.kafka
S B
Нет, партицировать по конкретному полю придётся программисту. Извини что так, передам ребятам что это неудобно. А Кафка Стримс с приставкой Стримс не просто так; верь или нет, но этот фреймворк обеспечивает потоковую обработку поверх Кафки и если у тебя нет реальной задачи, которая решается как обработка одного или многих взаимосвязанных или нет потоков (рекордов Кафки в разных топиках), то не нужно это тянуть как ещё одну зависимость.
Оке, спасибо за помощь )
источник

SB

S B in pro.kafka
А вот подумать тебе надо о следующем: стратегия рестарта (как восстановить состояние в пределах идентификатора? Можно ли полностью перечитать всю партицию для этого или там будет слишком много данных и это некстати)? Стратегия репартицирования? Что делать, когда ты захочешь удвоить количество партиций для горизонтально масштабирования? Будет промежуточное состояние, когда один и тот же идентификатор живет в разных партициях. Да и вообще про консистентность данных и SLA подумать, если они есть.
источник

SB

S B in pro.kafka
Потому что без таких вопросов Кафка и слепое партицирование это очень надежный способ угандонить любую распределённую систему на три сосны.
источник

DS

Dmitriy Smirnov in pro.kafka
S B
А вот подумать тебе надо о следующем: стратегия рестарта (как восстановить состояние в пределах идентификатора? Можно ли полностью перечитать всю партицию для этого или там будет слишком много данных и это некстати)? Стратегия репартицирования? Что делать, когда ты захочешь удвоить количество партиций для горизонтально масштабирования? Будет промежуточное состояние, когда один и тот же идентификатор живет в разных партициях. Да и вообще про консистентность данных и SLA подумать, если они есть.
Я как раз об этом думал, о том что будет если придеться удвоить количество партиций и к чему это приведет. По этому спросил о возможном сущестовании такого механизма на стороне кафка, которая нивелирует возможные проблемы. Предпологаю что задача довольно распространена. Изначально думал написать свою реализацию на стороне приложения, которая по факту является прокси - очередью ))
источник

SB

S B in pro.kafka
Такого механизма нет не только в Кафке, его нет даже в теории CS. Пока что максимум того что мы как индустрия в такой ситуации можем называется consistent hashing, призванный минимизировать объём съехавших данных. Но в целом твоё желание переложить ключевые решения, продиктованные конкретным запросом от бизнеса, на разработчиков Кафки - к добру не ведёт.
источник
2020 September 28

VS

Vladimir Shchur in pro.kafka
S B
Такого механизма нет не только в Кафке, его нет даже в теории CS. Пока что максимум того что мы как индустрия в такой ситуации можем называется consistent hashing, призванный минимизировать объём съехавших данных. Но в целом твоё желание переложить ключевые решения, продиктованные конкретным запросом от бизнеса, на разработчиков Кафки - к добру не ведёт.
в пульсаре из коробки, называется key_shared https://medium.com/@ankushkhanna1988/apache-pulsar-key-shared-mode-sticky-consistent-hashing-a4ee7133930a
источник