Очередь сообщений – это форма асинхронной коммуникации между сервисами, применяемая в бессерверных и микросервисных архитектурах. Сообщения хранятся в очереди, пока не будут обработаны и удалены. Каждое сообщение обрабатывается только один раз и только одним потребителем. Очереди сообщений могут использоваться для разъединения сложных процессов обработки, для буферизации или организации пакетной обработки, а также для сглаживания пиковых нагрузок.
Ниже представлены несколько ресурсов, которые помогут лучше разобраться в общих принципах работы очередей сообщений. Подробнее об очередях сообщений в AWS см. на странице Amazon Simple Queue Service (SQS).
В современной облачной архитектуре приложения разделяют на небольшие независимые элементы, которые проще разрабатывать, развертывать и обслуживать. Очереди сообщений обеспечивают для таких распределенных приложений возможность взаимодействия и координации. Очереди сообщений могут значительно упростить написание кода приложений с разъединенными компонентами, а также повысить их производительность, надежность и масштабируемость.
Очереди сообщений позволяют различным частям системы асинхронно взаимодействовать и обрабатывать операции. Очередь сообщений предоставляет упрощенный буфер, используемый для временного хранения сообщений, и конечные точки, которые позволяют программным компонентам подключаться к очереди для отправки и получения сообщений. Сообщения обычно имеют небольшой размер и могут представлять собой запросы, ответы, сообщения об ошибках или некую информацию. Чтобы отправить сообщение, компонент, называемый источником, добавляет сообщение в очередь. Сообщение хранится в очереди, пока другой компонент, называемый получателем, не извлечет это сообщение и не выполнит с ним некую операцию.

Очередь могут использовать многочисленные источники и получатели, но каждое сообщение обрабатывается одним получателем только один раз. По этой причине такой способ обмена сообщениями часто называют взаимно-однозначной или прямой передачей сообщений. Когда сообщение должно обрабатываться несколькими получателями, очереди сообщений можно комбинировать с моделью отправки сообщений «издатель-подписчик» в шаблоне проектирования разветвлений. См. подробнее в разделе Что такое модель передачи сообщений «издатель-подписчик»? или посетите страницу Amazon Simple Notification Service (SNS) для получения общей информации о модели передачи сообщений «издатель-подписчик» (Pub/Sub) в AWS.