Вот несколько примеров, когда очередь сообщений может быть полезна.
Ограниченные ресурсы
Допустим, у вас есть большое количество пользователей, делающих запросы к услуге. Если служба может одновременно обрабатывать только небольшое количество запросов, вы можете использовать очередь в качестве буфера.
Отделение услуг
Ключевой концепцией корпоративной интеграции является разделение систем, например, на рабочие процессы. Вместо того, чтобы системы общались друг с другом напрямую, они асинхронно отправляют сообщения в очереди. Затем компонент интеграции направляет и доставляет сообщение в соответствующую систему.
Воспроизведение сообщения
В приведенном выше примере очереди также могут обеспечивать надежную доставку и обработку запросов. Если один компонент рабочего процесса выходит из строя, другие остаются без изменений и все еще могут работать и отправлять сообщения на сломанный компонент. Когда сломанный компонент восстанавливается, он может обрабатывать все сообщения в очереди.
Ключевыми понятиями здесь являются регулирование нагрузки, слабая связь, надежность и асинхронная работа.
Относительно того, подходят ли они для каждого основного компонента , я бы сказал, нет, это не автоматический выбор, вы должны рассмотреть каждый компонент в отдельности.