Средний
В чем разница между "Push" и "Pull" моделями доставки сообщений?
Это два принципиально разных подхода к работе брокеров сообщений:
Push-модель (RabbitMQ, ActiveMQ):
Брокер сам активно "проталкивает" сообщения подключенным консьюмерам, как только они появляются в очереди.
Плюс: Минимальная задержка (Latency).
Минус: Если консьюмер слабый, брокер может "затопить" его сообщениями и положить (нужно настраивать prefetch count).
Pull-модель (Kafka):
Брокер пассивно хранит данные. Консьюмеры сами регулярно опрашивают брокер (Pull) и "вытягивают" пачки сообщений с той скоростью, с которой могут их переварить.
Плюс: Идеально для пакетной обработки (Batching) и защиты консьюмеров от перегрузки.