Зачем нужен JMS (RabbitMQ и т.п.) если есть Apache Kafka?
Backround: сталкивался с Kafka на проекте очень поверхностно, в Kafka Tool что-то тыкал, что-то отправлял, принимал, но не более того. С RabbitMQ дела не имел вообще.
И вот решил изучить более глубоко тему.
Погуглил, почитал по теме.
И вот что непонятно - Кафка вроде-бы по всем критериям лучше обычного JMS, RabbitMQ.
Вопрос такой: зачем нужен старый JMS, если есть Кафка? Только легаси поддерживать?
И что посоветуете изучить в первую очередь? Кафку или начать сначала c JMS?
Это принципиально разные продукты - одно очереди сообщений, а другое стриминг. В Кафке нет понятия сообщений, вернее из реализация там абстрактна. В Кафке оперируют байтами информации. К тому же в Кафке плохо с роутингом, который есть в других брокерах.
Так что лучше или хуже непохожими сравнивать исключительно в рамках выбора решения под конкретную задачу