Видео про устройство Kafka
https://www.youtube.com/watch?v=-AZOi3kP9JsОдна из лучших лекций про устройство Kafka: чисто по делу, отлично слушается на х1.75, достаточно для получения полноценного представления о технологии
Я буду писать статью на тему реализации EDA и RPC на Kafka, но если вкратце:
EDA – каждая consumer group будет получать инстанс сообщения из топика, поэтому достаточно раскладывать разные приложения по разным consumer group и вы будете иметь возможность обрабатывать Events (единственный сложный момент – выбор количества партиций, но я бы брал число равное половине самой большой consumer группы)
RPC – создаете топик ответов (response topic) с 1 партицией и уникальным названием (между всеми инстансами) у отправителя, в header сообщений Kafka добавляете уникальный id сообщения (correlationId) и название response topic, отправляете в топик из которой читают RPC запросы (приоритетнее отдельный топик на call, но можно и указывать название call как key сообщения одного большого топика). Консьюмер прочитал сообщение, сформировал ответ и отправил его туда, куда вы прописали в headers.
Примеры реализации уже опишу в статье (а еще будет такая же статья по RabbitMQ)
P.S.
Забыл упомянуть, что самый простой способ раскрыть Kafka на K8s – это
strimzi.io (прям советую)