Встречается на собеседованиях • сегодня

Как масштабируется Kafka

Kafka масштабируется горизонтально за счёт разделения данных на партиции и распределения нагрузки между брокерами.

Основные механизмы масштабирования:

  1. Партиции – данные топика делятся на партиции, которые распределяются по кластеру. Чем больше партиций, тем выше параллелизм обработки.
  2. Репликация – каждая партиция имеет несколько реплик для отказоустойчивости.
  3. Брокеры – кластер Kafka может включать множество брокеров, каждый из которых хранит часть данных.

Пример настройки топика с несколькими партициями:

python
from kafka.admin import KafkaAdminClient, NewTopic

admin_client = KafkaAdminClient(bootstrap_servers="localhost:9092")
topic = NewTopic(name="scalable_topic", num_partitions=10, replication_factor=2)
admin_client.create_topics([topic])

Важно:

  • Увеличение партиций после создания топика возможно, но требует перебалансировки.
  • Репликация повышает надёжность, но требует дополнительных ресурсов.
  • Мониторинг нагрузки помогает избежать дисбаланса между брокерами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы