Вопрос проверяет понимание основной структуры хранения сообщений и маршрутизации в Kafka.
Топик — логическая категория сообщений в Kafka. Продюсеры отправляют сообщения в топики, а консюмеры читают из топиков, при этом данные внутри топика разбиваются на партиции для масштабирования и параллелизма.
Определение топика:
- Топик — имя потока событий (например, user-signups).
- Все сообщения с одинаковым ключом в одном топике попадают в одну партицию.
Партиции:
- Топик разбивается на несколько партиций для параллельной обработки.
- Каждая партиция — упорядоченный лог.
Производитель и потребитель:
- Продюсер отправляет записи: producer.send("topic", key, value).
- Консюмер подписывается: consumer.subscribe(["topic"]), затем читает блоками.
Распределение нагрузки:
- Консюмер-группа читает из партиций параллельно.
- Каждая партиция обслуживается одним консюмером в группе.
Когда использовать:
- Организация потоков событий по тематике.
- Горизонтальное масштабирование обработки.