Очереди сообщений

Очереди сообщений позволяют передавать сообщения между компонентами распределенных приложений. Передавать сообщения в очереди можно с помощью API или с помощью любых поддерживаемых инструментов.

Сообщения из очереди считывают получатели — приложения, настроенные на прием сообщений из определенных очередей. После обработки получатель удаляет сообщения из очереди.

Стандартные очереди

Из стандартных очередей сообщения считываются получателями в произвольном порядке. Стандартные очереди обеспечивают доставку каждого сообщения минимум один раз ("at least once"). В редких случаях сообщение может быть получено из стандартной очереди дважды.

Используйте стандартные очереди, когда требуется максимальная пропускная способность.

Очереди FIFO

Из очередей FIFO сообщения считываются в порядке их поступления. FIFO-очереди позволяют обеспечить семантику доставки "exactly once".

Используйте очереди FIFO, если требуется обеспечить строгий порядок доставки и однократную обработку сообщений.

Группировка сообщений

С помощью идентификаторов групп можно организовать отправку нескольких упорядоченных потоков сообщений для разных потребителей в одной FIFO-очереди. Идентификатор группы указывается при помощи параметра MessageGroupId при отправке. В рамках одной группы все сообщения записываются и вычитываются в порядке отправления.

Дедупликация на записи

FIFO-очереди дедуплицируют сообщения на записи по идентификатору дедупликации или по содержимому сообщения. Подробнее читайте в разделе Дедупликация.

Примечание

Yandex Message Queue автоматически удаляет сообщения, находящиеся в очереди дольше времени хранения. Стандартное время хранения сообщений — 4 дня. Время хранения может быть изменено в интервале от 60 секунд до 14 дней при создании очереди или при помощи метода SetQueueAttributes.