Что делать, если у вас очень много источников данных, а хранилище одно?
Можно под каждый источник организовать свой способ доставки данных. Но есть более изящный способ — применить брокер сообщений Apache Kafka. Именно про него и рассказывает в докладе Артем Выборный.
В двух словах подготовим вас к докладу небольшим обзором на саму архитектуру работы Kafka:
🔵 Обычно для работы Kafka под высокой нагрузкой используют не один сервер, а целый кластер серверов, управление которыми происходит посредством Apache Zookeeper.
🔵 Данные, которые Kafka получает из источника и записывает в хранилище, состоят из сообщений (грубо говоря, это одна транзакция). Источники при этом называются продюсерами, а хранилища (их может быть много) — консьюмерами.
🔵 Каждый брокер хранит сообщения по партициям. Физически — это просто очередь сообщений, то есть новые сообщения дописываются в начало, а старые остаются в конце.
🔵 Партиции вместе образуют топик. Можно настроить, какие сообщения, от какого продюсера попадают в какой топик, а также настроить какие консьюмеры будут читать какой топик.
🔵 У Kafka есть возможность обеспечения репликации (именно при помощи Zookeeper), что повышает отказоустойчивость.
А вот обо всех нюансах работы, вызванных такой архитектурой Kafka, вы можете узнать во всех подробностях в самом докладе.
#краткий_пересказ