Назад к подготовке

Сколько Kafka/Spark workers нужно для millions events/sec

Если поток CTR dashboard - миллионы событий в секунду, как оценить число partitions/workers и где искать bottleneck?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

Короткий ответ

Нужно идти от events/sec, размера события, throughput на partition/worker и peak multiplier. Основной поток обычно impressions, clicks сильно меньше.

Полный разбор

Оценка начинается с нагрузки: средний поток переводим в peak, умножаем на размер события и делим на реалистичную пропускную способность Kafka partitions и stream workers. Для CTR почти вся нагрузка часто идет от impressions, потому что clicks составляют малую долю.

Проверять нужно не только Kafka: serialization, network, shuffle, state store, checkpointing и write throughput в OLAP могут стать bottleneck. Хороший ответ заканчивается планом load test и метриками: consumer lag, processing latency, checkpoint duration, write errors и p95 API latency.