Очереди (особенно отказоустойчивые и постоянные очереди) обеспечивают связь между компонентами и, в конечном итоге, позволяют средствам записи очереди быть асинхронными с читателями. Это означает, что читатели и писатели могут быть расширены в зависимости от использования очереди.
Рассмотрим простой пример обслуживания веб-запросов. Если тяжелая операция помещается в очередь, другой набор компонентов может прочитать очередь и обработать запрос без воздействия на программу записи и, таким образом, разрешить слушателю HTTP обслуживать больше запросов, поскольку он не связан. По мере увеличения количества элементов в очереди все больше читателей могут подключаться к ним для обработки.
С точки зрения надежности, если очередь надежна, то сообщения между компонентами не теряются, поэтому связь по своей природе более надежна. Читатели и писатели могут идти вверх и вниз, но пока сообщения безопасны, у вас есть основа для более надежной системы, чем система, в которой сообщения могут быть потеряны.
Фактически вы создаете системы с более низкой связью во время выполнения, и, таким образом, сбой в одной точке не обязательно распространяется по всей системе. Позволяет более успешно применять стратегии отказоустойчивости.