Kafka vs RabbitMQ на примерах

31 подписчик

12+
12+

3 просмотра

17 дней назад

ПожаловатьсяНарушение авторских прав

31 подписчик

12+
12+

3 просмотра

17 дней назад

ПожаловатьсяНарушение авторских прав
12+
12+

3 просмотра

17 дней назад

Объясняются главные принципы работы обеих технологий. На примерах показывается, когда что использовать. Канал в телеграме: https://t.me/distributed_system_design 1-1 консультация / мок-собеседование: ser.sysd.channel@gmail.com По другим вопросам: ser.sysd.channel@gmail.com -------------- Помимо Kafka и RabbitMQ есть еще NATS. По смыслу ближе к RabbitMQ, тк задизайнен для раздачи из одной очереди/стрима нескольким консьюмерам одновременно. Из-за этого возникает *не*упорядоченность обработки сообщений. Чтобы использовать для CDC, как кафку, т.е. с упорядоченной обработкой сообщений, нужно обеспечить одного консьюмера на стрим, координируя единственность консьюмера через, напр., etcd. (Такая же проблема, как с RabbitMQ) Но в этом сценарии будет уступать кафке по throughput, тк у Nats больше оверхэда - много всего трэкается per message. Оверхэд этот нужен, когда из одного стрима раздаем сообщения многим консьюмерам, но получается лишний для одного консьюмера. Итого, NATS - золотая середина между RabbitMQ и Kafka. Может многое из того, что может RabbitMQ, но не все. Например, назначать сообщениям в очереди приоритеты (priority queue) не получится. RabbitMQ в этом плане более умная и сложная очередь. Может то же, что и Кафка, но уступает по throughput. При этом превосходит обоих в легковесности. Имеет смысл предпочесть Nats, если не нужны priority queue (и прочие сложные истории), а также если не нужен очень высокий throughput (при highload). ——— Данная тема подробнее раскрыта на курсе (см. ссылку ниже) Тг-канал: https://t.me/distributed_system_design Курс с роадмапом: https://t.me/tribute/app?startapp=sUJx

Название:

Kafka vs RabbitMQ на примерах

Категория:

Разное