Сколько 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.