Очереди сообщений в программах нужны для организации межпроцессного взаимодействия и процесса взаимодействия программ по сети. yandex.ru Они предназначены для передачи информации от одной программы к другой через помещение сообщений в очередь сообщений. yandex.ru Далее другая программа по подписке на эту очередь забирает оттуда эти сообщения. yandex.ru
Вот ещё несколько причин, зачем нужны очереди сообщений:
- Слабое связывание. habr.com Очереди сообщений создают неявные интерфейсы обмена данными, которые позволяют процессам быть независимыми друг от друга. habr.com
- Избыточность. habr.com Очереди позволяют избежать неэкономного использования ресурсов процесса (например памяти) в результате хранения необработанной (лишней) информации. habr.com
- Масштабируемость. habr.com cloud.vk.com Очереди сообщений позволяют распределить процессы обработки информации, наращивать скорость, с которой сообщения добавляются в очередь и обрабатываются. habr.com
- Эластичность и возможность выдерживать пиковые нагрузки. habr.com Очереди сообщений могут выполнять роль буфера для накопления данных в случае пиковой нагрузки, смягчая тем самым нагрузку на систему обработки информации и не допуская её отказа. habr.com
- Отказоустойчивость. habr.com Очереди сообщений позволяют отделить процессы друг от друга, так что если процесс, который обрабатывает сообщения из очереди падает, то сообщения могут быть добавлены в очередь на обработку позднее, когда система восстановится. habr.com
- Гарантированная доставка. habr.com Использование очереди сообщений гарантирует, что сообщение будет доставлено и обработано в любом случае (пока есть хотя бы один обработчик). habr.com
- Гарантированный порядок доставки. habr.com Большая часть систем очередей сообщений способны обеспечить гарантии того, что данные будут обрабатываться в определённом порядке (чаще всего в том порядке, в котором они поступили). habr.com