Топики в Apache Kafka

Мало кто не знаком с Apache Kafka. Это популярная платформа потоковой обработки событий в реальном времени, обладающая низкой задержкой и высокой пропускной способностью. Еще ее называют распределенным программным брокером сообщений с открытым исходным кодом. Однако все эти сообщения еще надо где-то группировать. В случае с Kafka используются топики.

По своей сути топики можно сравнить с БД в стандартных системах управления базами данных. При этом топики разбиваются на разделы, а эти разделы представляют собой отдельные журналы, функционирующие по принципу FIFO, то есть по принципу очереди. Каждый раздел -- это отдельный журнал.

Ниже -- процесс записи сообщений по разделам:

Благодаря нескольким разделам, Kafka обеспечивает как избыточность, так и масштабируемость, что не может не радовать.

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

По материалам https://habr.com/ru/company/otus/blog/725168/.