Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Kafka: topic, partition, consumer, producer

Что такое топики (topics) и как они используются?

Этот вопрос проверяет знание о ключевом понятии в Kafka для логической группировки и маршрутизации сообщений.

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

Топик — это именованный логический канал для сообщений в Kafka. Продюсеры отправляют данные в определённый топик, а консюмеры подписываются на топики, чтобы получать сообщения. Топики разбиваются на партиции для масштабирования и упорядоченного хранения.

Длинный ответ

Определение и назначение:

- Топик — именованный поток событий (например, user-signups).

- Помогает разделять сообщения по темам и логике приложения.

 

Партиции:

- Каждый топик делится на несколько партиций.

- Партиции обеспечивают параллелизм чтения и записи.

- Сообщения внутри партиции упорядочены по смещению (offset).

 

Продюсеры и консюмеры:

- Продюсер отправляет запись в топик:

producer.send("my-topic", key=b"user1", value=b"event-data")

- Консюмер подписывается и читает:

consumer.subscribe(["my-topic"])
for msg in consumer:
    process(msg.value)

 

Распределение нагрузки:

- Консюмер-группа читает партиции параллельно.

- Каждая партиция обрабатывается одним консюмером в группе.

 

Когда использовать:

- Для организации событийных потоков по категориям.

- При необходимости горизонтального масштабирования.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Kafka

    Kafka

Ключевые слова

#topic

#partition

#consumer

#producer

Подпишись на QA Engineer в телеграм