[Документация Yandex Cloud](../../index.md) > [Yandex Message Queue](../index.md) > [Концепции](index.md) > Очереди сообщений

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

Очереди сообщений позволяют передавать сообщения между компонентами распределенных приложений. Передавать сообщения в очереди можно с помощью [API](../api-ref/index.md) или с помощью любых [поддерживаемых инструментов](../instruments/index.md).

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

## Стандартные очереди {#standard-queues}

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

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

## Очереди FIFO {#fifo-queues}

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

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

### Группировка сообщений {#group-id}

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

### Дедупликация на записи {#deduplication}

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

{% note info %}

Yandex Message Queue автоматически удаляет сообщения, находящиеся в очереди дольше времени хранения. Стандартное время хранения сообщений — 4 дня. Время хранения может быть изменено в интервале от 60 секунд до 14 дней при создании очереди или при помощи метода [SetQueueAttributes](../api-ref/queue/SetQueueAttributes.md).

{% endnote %}

## Примеры использования {#examples}

* [Автоматическое масштабирование группы виртуальных машин для обработки сообщений из очереди Message Queue](../tutorials/autoscale-monitoring.md).
* [Конвертация видео в GIF на Python](../tutorials/video-converting-queue/index.md).
* [Создание интерактивного serverless-приложения с использованием WebSocket](../tutorials/websocket-app.md).
* [Создание триггеров, которые вызывают функции Cloud Functions для остановки ВМ и отправки уведомлений в Telegram](../tutorials/serverless-trigger-budget-queue-vm-tg.md).