Ранее я уже рассказывал про REST, сегодня я хочу подробнее рассказать про еще один вид интеграции - это стриминг / очереди, расскажу на примере самого популярного варианта.
Это Kafka. Такая распределенная система очередей сообщений, которая предназначена для обработки потоков данных в режиме реального времени.
Kafka работает на основе публикации-подписки (publish-subscribe) модели, где есть производители (publishers), которые отправляют сообщения в темы (topics), и есть потребители (consumers), которые получают эти сообщения из тем. Темы разбиваются на партиции (partitions), что позволяет обеспечить параллельную обработку.
Одной из полезных особенностей Kafka, по сути ее "фишечек" является его способность обрабатывать большие объемы данных и гарантировать устойчивость и отказоустойчивость. Он может обрабатывать миллионы сообщений в секунду и хранить их на диске для последующей обработки.
Kafka также обладает низкой задержкой и высокой пропускной способностью, что делает его подходящим для использования в реальном времени. Она также достаточно легко интегрируется с различными системами, позволяя эффективно обмениваться данными между ними.
Не Кафкой единой, есть еще и другие, не на столько попсовые системы очередей сообщений, такие как RabbitMQ, ActiveMQ, Amazon SQS и другие. Каждая из них имеет свои особенности и предназначена для разных случаев использования.
На самом деле, про этот инструмент можно говорить очень и очень много, включая то, что некоторые компании используют Кафку и вовсе как хранилище данных. Но если тебя заинтересует - на том же Ютубе есть много часовых (и многочасовых тоже) видео с рассказом про стриминг во всех подробностях
Просто про Кафку
1 минута
15 прочтений
26 июля 2023