Мы сейчас разрабатываем систему лояльности, в которой создаются фильры событий,

которые связываются с кафка топиками и с flink sql
Дальше весь этот поток данных нужно как читать из топиков
Пока что пришли к мысли, что нужно создать рантайм процесс, который создает одного коньсюмера, читатет N топиков и выполняет свою логику, которая сейчас не особа важна для обсуждения
Возник вопрос, как управлять поведением системы, если хочется удалить бизнесовый фильтр событий
Подумали, что нужно тогда и топики удалить?
А что будет с рантайм процессом, если он будет читать несуществующий топик?)

Короче, я готов быть закиданным помидорками, если укажете на ошибки в рамках обсуждения кафки!

11 ответов

34 просмотра

avro+shema-regesstry

Один консюмер на несколько топиков плохо скейлится. Если нужно будет к одному из топиков накинуть партиций, то при скейлинге сервиса у вас будет или слишком много, или слишком мало консюмеров в группах, что будет приводить к бесполезным ребалансировкам. Я бы прямо за правило буравчика брал: один топик = один сервис-консюмер.

Владислав Килин
Один консюмер на несколько топиков плохо скейлится...

им бы архитектора туда, ну или хотя бы лида который понимает хоть чуть чуть в аналитике

Владислав Килин
Один консюмер на несколько топиков плохо скейлится...

А один топик -> несколько консюмеров? Мне казалось, в этом один из юзкейсов кафки, например если у меня на одни и те же данные несколько разных представлений/агрегаций

Maxim Kosov
А один топик -> несколько консюмеров? Мне казалось...

если это одна консьюмер-группа, и в ней число консьюмеров = числу партиций у топика - можно добиться параллелизма вашей обработки

Я говорил про разные группы. Разные сервисы, которые обрабатывают один и тот же поток и делают разные проекции данных.

Maxim Kosov
А один топик -> несколько консюмеров? Мне казалось...

Один топик на несколько групп нормальная история. Топик скейлится партициями, группы скейлятся так же.

Maxim Kosov
Я говорил про разные группы. Разные сервисы, котор...

в таком случае, запускаете количество инстансов сервиса (подов) = количество партиций, и каждый инстанс обрабатывает свою партицию гип-гип ураа, параллельная обработка

Владислав Килин
Один топик на несколько групп нормальная история. ...

Хорошо, просто после мысли 1топик = 1 консюмер, я подумал может это уже анти паттерн)

Maxim Kosov
Хорошо, просто после мысли 1топик = 1 консюмер, я ...

Мысль была не такая. Мысль в том что в идеале один сервис = один консюмер

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Ребят, а двух-факторку для плагина Users и для бэкенда октября кто-то прикручивал? Поделитесь опытом
Constantine Anikin
4
Карта сайта