Очереди сообщений
Очереди сообщений позволяют передавать сообщения между компонентами распределенных приложений. Передавать сообщения в очереди можно с помощью API или с помощью любых поддерживаемых инструментов.
Сообщения из очереди считывают получатели — приложения, настроенные на прием сообщений из определенных очередей. После обработки получатель удаляет сообщения из очереди.
Стандартные очереди
Из стандартных очередей сообщения считываются получателями в произвольном порядке. Стандартные очереди обеспечивают доставку каждого сообщения минимум один раз ("at least once"). В редких случаях сообщение может быть получено из стандартной очереди дважды.
Используйте стандартные очереди, когда требуется максимальная пропускная способность.
Очереди FIFO
Из очередей FIFO сообщения считываются в порядке их поступления. FIFO-очереди позволяют обеспечить семантику доставки "exactly once".
Используйте очереди FIFO, если требуется обеспечить строгий порядок доставки и однократную обработку сообщений.
Группировка сообщений
С помощью идентификаторов групп можно организовать отправку нескольких упорядоченных потоков сообщений для разных потребителей в одной FIFO-очереди. Идентификатор группы указывается при помощи параметра MessageGroupId
при отправке. В рамках одной группы все сообщения записываются и вычитываются в порядке отправления.
Дедупликация на записи
FIFO-очереди дедуплицируют сообщения на записи по идентификатору дедупликации или по содержимому сообщения. Подробнее читайте в разделе Дедупликация.
Примечание
Yandex Message Queue автоматически удаляет сообщения, находящиеся в очереди дольше времени хранения. Стандартное время хранения сообщений — 4 дня. Время хранения может быть изменено в интервале от 60 секунд до 14 дней при создании очереди или при помощи метода SetQueueAttributes.