Выбор ответа Senior Батч и стриминг обновлено
Компромисс задержки watermark
Вопрос
Watermark с допустимой задержкой 1 минута теряет 3% событий как опоздавшие. Предложили поднять задержку до 2 часов. Чем за это заплатим?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Результаты окон будут выдаваться на 2 часа позже, а состояние открытых окон вырастет. Окно закрывается, только когда watermark прошёл его конец, а значит, все окна будут ждать 2 часа.
Варианты ответа
- Ничем, это только плюс: окна по-прежнему закрываются сразу, а опоздавшие досчитываются
- Пропускная способность Kafka упадёт вдвое, потому что сообщения хранятся дольше
- События начнут дублироваться: каждое попадёт и в своё окно, и в окно опоздавших
- Результаты окон будут выдаваться на 2 часа позже, а состояние открытых окон вырастетправильный ответ
Разбор
Окно закрывается, только когда watermark прошёл его конец, а значит, все окна будут ждать 2 часа. Всё это время состояние окон хранится. Компромисс: средняя задержка плюс отдельная обработка опоздавших (обновление результата или батч-пересчёт). На Kafka это не влияет. Дубли не появляются из-за watermark.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.