Можно ли при помощи Кафка стримов модифицировать сообщения внутри одного

топика? Нашел примеры где на входе input топик, а выходе output, но при таком кейсе объем данных в Кафке возрастает в два раза

11 ответов

18 просмотров

Сообщения в топике это append-only log, поэтому нет. Можешь брать consumer и закидывать обратно в цикле, но сообщений всё равно будет на каждую итерацию больше

Maksim-Batsiuk 💬 Автор вопроса
Ivan Zhuravlev
Сообщения в топике это append-only log, поэтому не...

У Кафки знаю есть технология, которая позволяет для ключа хранить только последнее сообщение, если в консьюмере для всех сообщений использовать уникальный ключ , потом читать сообщение, преобразовывать и записывать с этим же ключом

Maksim Batsiuk 💬
У Кафки знаю есть технология, которая позволяет дл...

Нет, хранит всегда все, а это скорее всего материализованное представлени

Maksim-Batsiuk 💬 Автор вопроса
Vladislav Gerasimov
retentionPolicy: compact в настройках топика

Это поможет уменьшить обьем занимаемых данных в Кафке? Или хранится все равно будут все сообщения , а отображаться только последнее?

Maksim Batsiuk 💬
У Кафки знаю есть технология, которая позволяет дл...

Это всё равно тот же самый append-only лог, просто старые сообщения спустя некоторое время вычищаются. Но далеко не моментально.

Вячеслав
Это всё равно тот же самый append-only лог, просто...

Вот, при чтение с начала партиции мы всё равно их получаем же?

Ivan Zhuravlev
Вот, при чтение с начала партиции мы всё равно их ...

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

Ivan Zhuravlev
Вот, при чтение с начала партиции мы всё равно их ...

если кафка успеет уже сделать этот compaction, то не прочитаете уже

Vladislav Gerasimov
именно храниться будет последнее

В активном сегменте compact не работает, поэтому для одного ключа возможна ситуация, что есть запись и в активном, и в сжатом сегментах. То есть, кафка будет хранить не строго одно последнее.

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта