Всем привет. через кафку проходят все изменения объектов некой сущности (добавление,

редактирование). нужно вывести историю изменений с момента создания. как это лучше сделать, чтобы не шерстить всю очередь с начала?
- кафка стримс
- писать во внешний источник (бд, кеш) смещение создания объекта и смещение последнего изменения и проходить по очереди только в рамках этих смещений
- ещё варианты?

3 ответов

7 просмотров

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

а в кафке какое ретеншен полиси? а то данные удалятся, и вывести все операции не выйдте

Nikolaj-Rudakov Автор вопроса

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

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

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
Есть какая-то система возвратов с новыми звёздами?
khamidov
3
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
А цены чем оправданы?
Lencore
7
Карта сайта