Что представляет собой топик в Apache Kafka и как он работает
Краткий ответ
Топик в Kafka — это логическая категория для группировки сообщений, куда продюсеры отправляют данные, а консюмеры получают их, подписываясь на этот канал.
Развёрнуто
Краткий ответ
Топик в Apache Kafka — это основной элемент для организации потоков сообщений, выступающий в роли канала для публикации и подписки. Продюсеры отправляют сообщения в конкретные топики, а консюмеры читают данные из них.
Как это работает
Топик — это логическая сущность, обеспечивающая разделение и структурирование данных в Kafka. Он функционирует как именованный канал, куда продюсеры (producers) публикуют сообщения, а консюмеры (consumers) подписываются для их получения.
Каждый топик делится на несколько партиций (partitions), что позволяет масштабировать обработку и упорядочивать сообщения внутри партиций по смещению (offset). Партиции хранят данные в порядке записи, а потребители читают их последовательно.
| Элемент | Описание |
|---|---|
| Топик | Логический канал для сообщений |
| Партиция | Физическое разделение топика |
| Продюсер | Отправляет сообщения в топик |
| Консюмер | Получает сообщения из топика |
Пример
Топик: orders
Партиции: 3
Продюсер публикует заказ с ID=123 в топик orders.
Консюмер подписан на orders и получает данные о заказе.
В этом примере продюсер отправляет информацию о заказах в топик orders, а консюмеры читают эти сообщения для последующей обработки.
Что важно знать на собеседовании
- Топик — это логический канал для обмена сообщениями в Kafka.
- Сообщения внутри топика упорядочены и распределены по партициям.
- Продюсеры записывают, а консюмеры считывают данные из топика.
- Партиции обеспечивают масштабируемость и параллелизм обработки.
- Смещение (
offset) позволяет отслеживать позицию чтения в партиции.
Тема: Асинхронные системы и очереди | Уровень: junior