Кафкисты Кафкистадоры Привет Хочу сделать демо-проект, похожий на реальность из жизни С использованием Кафка Чтобы

освоить её +\-
Подскажите, плз, что это может быть?
Эмулятор какого-нибудь сервиса обращений граждан, записи к врачу, экстренной службы?

как я понимаю, суть Кафки - собрать вал шквал входящих сообщений, чтобы потом передать Обработчику без потерь?

17 ответов

10 просмотров

Что-то, что производит сообщения в кафку и что-то, что из неё читает.

сделай стриминг из бд ондой системы в бд другой системы kafka connect, kafka streams, avro, consumers

ну кафка ж "Тупой брокер, умный потребитель", сама по себе очень проста, а всякие фичи по типу идемпотентной отправки, семантика на отправку, семантику на обработку, как офсеты можно комитить, там извратные темы с прибитием кулаком консюмеров к партициями для избежания ребаланса, метрики каки, все на стороне клиента на каком нить ЯП, можно попробовать всякие штуки которые над кафкой - кафка стримс, ксклдб

Ayrat- Автор вопроса

Смотрите. Я надумал сэмулировать вал сообщений от камер дорожных штрафов. Камеры расположены в 4-х районах города: Центр, Промзона, Спальный, Элитный. Видимо, надо делать 4 топика (соответственно районам). Далее, из этих топиков сообщения о штрафах должны будут читать консюмеры (офисы Гибдд данных районов). Когда консюмер считал сообщение, он его обрабатывает и пишет в базу (что штраф выписан). Такая логика.. может, в жизни иначе устроено со штрафами, но ладно. Также я хотел бы отобразить движение сообщений на какой-нибудь доске (франтенд), чтобы был эффект присутствия. Типа 2х подвижных столбцов: столбец А - это поступившие на обработку сигналы с камер, столбец Б - выписанные штрафы

Ayrat- Автор вопроса
Ayrat
Смотрите. Я надумал сэмулировать вал сообщений от ...

проводя аналогию с картинкой-образцом https://i122.fastpic.org/big/2023/0712/5a/05376df8028bd8b73d5903855b4e565a.png, в моём примере получается: - Районов у нас 4, в каждом пускай по 10 камер. - Камера - это Producer, соответственно продюсеров 40 штук. - Топик 1; - Партиций (базовых, "лидеров"), судя по логике, должно быть 4 (по кол-ву районов); - Когда камера (producer) пишет в топик, она знает, в какую партицию писать. Для этого использовать "ключ партиционирования"; Таким образом, в партицию района "Элитный" попадают только сообщения с камер в Элитном районе. - а вот консюмеров сколько делать, я хз. Читал, что их должно быть по количеству партиций. Но 4 консюмера это скушно, не? Я имею в виду, если делать консюмер группы (для реалистичности), скажем, в одном районе 3 офиса Гибдд, в другом 1, в остальных по 2, и каждая группа потребляет

Ayrat
проводя аналогию с картинкой-образцом https://i122...

Все смешалось в доме Облонских... (с) вам вообще не нужно думать о кол-ве партиций до тех пор, пока вы не упрётесь в ограничения производительности. Пишите всё в один топик, добавляйте в состав сообщения ID вашей камеры/района/улицы/чегоугодно. Консьюмер читая сообщения парсит мета-данные и уже от этого строит логику своей работы. консьюмер-группы - это возможность логичеки разделить консьюмеров, чтобы они двигались(читали) топик вне зависимости от состояния соседних коньсюмеров - например одна КГ, это читающая топик и выписывающая штрафы, вторая КГ - это аудит, чтобы потом сверять кол-во выписанных штрафов с кол-вом попавших событий. Разные КГ будут работать с разной логикой и возможно разной скоростью

Ayrat- Автор вопроса

то есть партиции будут содержать все подряд сообщения, вперемешку с разных камер разных районов? Но если 1 партиция = 1 консюмер, то тогда консюмер "Гибдд района Центр" не получит данных с остальных партиций? Я что-то запутался Консюмеров задумано 4, чтобы каждый только свои камеры обслуживал

Ayrat
то есть партиции будут содержать все подряд сообще...

Нет, речь о консьюмер группах, у них свои оффсеты для одного и того же топика, в этом прелесть кафки

Ayrat
то есть партиции будут содержать все подряд сообще...

давайте пока исключим слово "партиция" из обсуждения) Пусть будет топик и консьюмеры. Каждый консьюмер получит все сообщения из топика на который он подписан

Ayrat- Автор вопроса
Сергей Голод
давайте пока исключим слово "партиция" из обсужде...

Консюмер группу "Выписыватели" таки создаём? Сразу

Ayrat
Консюмер группу "Выписыватели" таки создаём? Сразу

выписыватели - это аппка которая на основании сообщения(события) в топике генерирует штраф? Да, норм - пусть будет такой консьюмер (и можно сделать под него отдельную CG, consumer-group)

Ayrat- Автор вопроса

"выписыватели" (как я это сфантазировал) - это офисы Гибдд, поделённые по районам. Чтобы не замучать чат вопросами, пока думаю моделировать 1 офис на 1 район. Каждый "выписыватель" (офис гибдд в районе) интересуется только штрафами с камер, расположенных в его районе. Раз решили пока исключить углубление в партиции (для простоты), то офисы читают все сообщения, и когда попадается "своё", то офис его обрабатывает (считал, преобразовал в что-то другое, записал это "другое" в БД).

Биллинг

Ayrat- Автор вопроса
Anton Chaporgin
Биллинг

о, а напишите развёрнутей, плз ?

Ayrat
о, а напишите развёрнутей, плз ?

ну один эвент эмитер о потреблении, кафка, какой-нибудь apache flink для агрегации, kafka connect для выгрузки и какая-нибудь конечная база (postgres) чтобы хранить выставленные счета.

Ayrat
"выписыватели" (как я это сфантазировал) - это офи...

40 камер, каждая камера шлёт инфу о всех проезжающих машинах в общий топик (топику можно сделать много партиций, пусть будет 50). Данные: ид камеры, место, номер машины, скорость, фото опционально. Из топика читают сервисы: - проверка скорости (консьюмер группа speedchecker). Берет место, сверяет со скоростью, если нарушение, пересылает дальше в топик нарушителей скоростного режима (можно пару партиций сделать, например, 4) - проверка тех осмотра (консьюмер группа checktehosmotr 😂 - с телефона, не хочу лезть переводить) - сервис будет сверять с инфой в какой-нибудь БД. Нарушителей - пеенаправлять сообщения в топик нарушителей техлсмотра (3 партиции) - сервис проверки страховки ОСТА(консьюмер группа checkinsurance) - по аналогии с предыдущим пунктом, но в третий топик. Сервис выписки штрафов - может читать из всех топиков с нарушениями, выписывать штрафы, отправляя сообщения в топик на отправку смс владельцам машин. Ещё сервис, который предложил хороший друг начальника ГИБДД: читает только топик нарушителей ОСТА и с помощью миррормейкера (или обезлиивающей аппы, оставляя только номер машины) перенаправляет сообщения в топик страховой компании. Из этого топика читает сервис страховой компании (консьюмер группа insurancecompany) и шлёт смс всем нарушителям с акционным предложение страховки на год :-)

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

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

Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Privet! Mozhet jesti ideji - nemogu sdelatj upload backup s filestore cerez WEB. Fail okolo 450mb, eto mozhet bitj prichinoi? Nemogu ponjatj..kak zagruzitj backup... Poluchaju...
Matiss 🤘 Black Oak IT 🌳 Batumi 🌴 Latvija
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Нужно магазин с тильды на опен кат перенести Есть кто умеет? В лс
Magic
6
ох, как мне это нравится - "уточнить стоимость и получить консультацию"... есть знатоки лицензий, они не должны ли исходники открыть?
Artem (☞゚ヮ゚)☞ Bortnikov
5
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Закинул в стор бесплатный плагин для генерации меты. Жду одобрения. Может кто нить хочет потестить? Тому кто даст хороший, развернутый фидбек подарю расширение под шопоголик...
Black Cat
1
Кто создает тут ботов для телеграмм групп ?
Antskup
8
Карта сайта