Вопрос проверяет понимание базовой модели хранения и распределения сообщений в Kafka.
Topic — это логическая категория сообщений в Kafka. Topic разбивается на partitions, которые позволяют распределять нагрузку и обеспечивают параллельное чтение. Сообщения внутри partition упорядочены и имеют offset. Consumer читает сообщения последовательно внутри partition.
Kafka хранит сообщения в виде append-only журнала.
Определение:
Topic — это логический канал, в который продюсеры записывают сообщения, а консюмеры читают их.
Пример:
orders
payments
logs
Partition — это физическое разделение topic.
Особенности:
данные распределяются между partitions
каждая partition — упорядоченный лог
масштабирование достигается увеличением partitions
Consumer работает так:
получает partition
читает сообщения по offset
сохраняет offset
Пример структуры:
Topic orders
Partition 0
Partition 1
Partition 2
Они позволяют:
масштабировать запись
масштабировать чтение
распределять нагрузку
Topic — это логический поток данных, а partitions позволяют масштабировать Kafka и обеспечивают параллельную обработку сообщений.