Выбор ответа Senior Батч и стриминг обновлено

Компромисс задержки watermark

Вопрос

Watermark с допустимой задержкой 1 минута теряет 3% событий как опоздавшие. Предложили поднять задержку до 2 часов. Чем за это заплатим?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Результаты окон будут выдаваться на 2 часа позже, а состояние открытых окон вырастет. Окно закрывается, только когда watermark прошёл его конец, а значит, все окна будут ждать 2 часа.

Варианты ответа

  1. Ничем, это только плюс: окна по-прежнему закрываются сразу, а опоздавшие досчитываются
  2. Пропускная способность Kafka упадёт вдвое, потому что сообщения хранятся дольше
  3. События начнут дублироваться: каждое попадёт и в своё окно, и в окно опоздавших
  4. Результаты окон будут выдаваться на 2 часа позже, а состояние открытых окон вырастетправильный ответ

Разбор

Окно закрывается, только когда watermark прошёл его конец, а значит, все окна будут ждать 2 часа. Всё это время состояние окон хранится. Компромисс: средняя задержка плюс отдельная обработка опоздавших (обновление результата или батч-пересчёт). На Kafka это не влияет. Дубли не появляются из-за watermark.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.