Similar presentations:
message_brokers_presentation
1.
Брокеры сообщений: Kafka,RabbitMQ и др.
Краткий обзор технологий и
концепций
2.
Что такое брокеры сообщений• Посредники между системами для обмена
сообщениями
– Приём, буферизация и доставка сообщений
– Примеры: Apache Kafka, RabbitMQ
3.
Kafka vs RabbitMQ• Kafka — стриминг, высокая пропускная
способность
– RabbitMQ — очереди, маршрутизация
– Kafka pull-модель, RabbitMQ push-модель
4.
Топики и партиции• Topic — категория сообщений
– Partition — единица параллелизма Kafka
– Сообщения распределяются по ключу или
round-robin
5.
Producers и Consumers• Producer — отправитель сообщений
– Consumer — получатель сообщений
– Kafka: consumer groups, параллелизм на уровне
партиций
6.
Как определяется партиция• hash(key) % partitions
– Если ключ не указан — round-robin
– Можно определить кастомный партиционер
7.
Pull vs Push модель• Kafka использует pull — consumer сам
запрашивает сообщения
– RabbitMQ использует push — брокер
отправляет сообщения
– Pull даёт контроль скорости чтения
8.
Преимущества Kafka• Очень высокая скорость
– Длительное хранение сообщений
– Event sourcing / streaming
– Порядок сообщений в партиции
9.
Преимущества RabbitMQ• Гибкая маршрутизация
– Поддержка RPC
– Подходит для бизнес-процессов
10.
Гарантии доставки• At most once / At least once / Exactly once
– Kafka: offset commit, ack=all, репликация
– RabbitMQ: ack, durable очереди, publisher
confirms
internet