К списку
Асинхронные системы и очередиJuniorСкрининг с HR

Что представляет собой топик в Apache Kafka и как он работает

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

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

Развёрнуто

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

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


Как это работает

Топик — это логическая сущность, обеспечивающая разделение и структурирование данных в Kafka. Он функционирует как именованный канал, куда продюсеры (producers) публикуют сообщения, а консюмеры (consumers) подписываются для их получения.

Каждый топик делится на несколько партиций (partitions), что позволяет масштабировать обработку и упорядочивать сообщения внутри партиций по смещению (offset). Партиции хранят данные в порядке записи, а потребители читают их последовательно.

Элемент Описание
Топик Логический канал для сообщений
Партиция Физическое разделение топика
Продюсер Отправляет сообщения в топик
Консюмер Получает сообщения из топика

Пример

Топик: orders
Партиции: 3
Продюсер публикует заказ с ID=123 в топик orders.
Консюмер подписан на orders и получает данные о заказе.

В этом примере продюсер отправляет информацию о заказах в топик orders, а консюмеры читают эти сообщения для последующей обработки.

Что важно знать на собеседовании

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

Тема: Асинхронные системы и очереди | Уровень: junior