Пять дней ожидания: опыт длинных временных окон Kafka stream

#Пять #Kafka #Иногда #Time #Windows
Пять дней ожидания: опыт длинных временных окон Kafka stream

Иногда бизнес-логика выглядит просто: «соберём все данные за период и посчитаем итоговый результат». На практике этот период может оказаться не часом и даже не днём, а несколькими сутками. В одном из моих проектов требовалось построить агрегаты на основе данных, которые могли поступать в течение пяти дней. В литературе мы встретили концепцию временных окон (Time Windows). По описанию это выглядело именно тем инструментом, который должен решить задачу: определить период ожидания, дождаться всех необходимых данных и получить итоговый агрегат. Однако при работе с реальными потоками оказалось, что основная сложность заключается вовсе не в выборе размера окна. Главный вопрос оказался другим: существует ли вообще момент, после которого агрегат можно считать завершённым и больше никогда не изменять? Узнать больше

Когда речь заходит о потоковой обработке, временные окна обычно рассматриваются как основной механизм агрегирования событий. Но просто «подождать пять дней» не получится. В потоковой архитектуре ожидание — это не обычный таймер. Необходимо учитывать задержки доставки, порядок поступления сообщений и другие пограничные состояния.

В моём случае агрегат формировался из данных нескольких независимых источников, каждый из которых работал по своим правилам. Одни системы публиковали события практически сразу после их возникновения. Другие могли прислать информацию спустя несколько часов или даже дней. Где-то происходила повторная отправка сообщений, а где-то — исправление уже ранее переданных данных.

Каждый источник передавал собственную часть информации в своём формате. На этапе обработки все сообщения приводились к единой структуре — JSON-объекту, описывающему кассовый чек. В рамках проекта рассматривалось два варианта агрегации: на уровне отдельных чеков и на уровне Z-отчёта. В этой статье речь пойдёт об агрегате на уровне Z-отчёта.

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

Похожие статьи

Двач
Двач

У шерстяных всё стабильно

У шерстяных всё стабильно

Двач
Аргументы и Факты
Аргументы и Факты

Эрудит Вассерман оценил внесение слов «махаю» и «ложить» в словари

Говорить «махаю» или называть кофе «оно» — по-прежнему моветон. Анатолий Вассерман объяснил aif.ru, с чем это связано.

Аргументы и Факты
Аргументы и Факты
Аргументы и Факты

Поиски у границы: генерал ФСБ указал на важнейший факт в пропаже Усольцевых

Сергей, Ирина и Арина Усольцевы пропали в сентябре прошлого года. С тех пор не было найдено никаких следов. Подробности - в эксклюзивном материале aif.ru.

Аргументы и Факты
РИА
РИА

"Чтобы выжить": экс-соратница Зеленского назвала критическую проблему ВСУ

Дефицит личного состава ВСУ настолько велик, что военнослужащим приходится идти на крайние меры ради выживания, заявила в соцсети X бывший пресс-секретарь... РИА Новости, 15.08.2026

РИА
Аргументы и Факты
Аргументы и Факты

Отборные ведьмы Зеленского попали в ловушку: раскрыт тайный отряд убийц СБУ

Эксперт Олег Иванников в раскрыл, как СБУ и ГУР превращают женщин в диверсантов, используя шантаж, нищету и «работу втёмную». Читайте эксклюзивно в материале aif.ru.

Аргументы и Факты
В ГД рассказали, какие букеты лучше дарить учителям на 1 сентября РИА
РИА

В ГД рассказали, какие букеты лучше дарить учителям на 1 сентября

Выбирая букет учителю на 1 сентября, лучше отказаться от слишком дорогих и громоздких композиций в пользу небольшого и аккуратного букета, высказала мнение в... РИА Новости, 15.08.2026

РИА