Yandex Message Queue (YMQ)
YMQ - это managed очереди сообщений в Yandex Cloud, используемые для транскодирования видео.
Развертывание
Очереди развертываются с помощью Terraform модуля transcoder_queues.
Модуль
Источник: ../modules/transcoder_queues
Переменные:
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
prefix | string | - | Префикс для имен очередей (например, medikt-net) |
video_retention_seconds | number | 1209600 | Срок хранения сообщений в очереди video (14 дней) |
chunks_retention_seconds | number | 1209600 | Срок хранения в очередях chunks/chunks_low (14 дней) |
status_retention_seconds | number | 1209600 | Срок хранения в очереди status (14 дней) |
stream_retention_seconds | number | 1209600 | Срок хранения в очереди stream (14 дней) |
processed_retention_seconds | number | 1209600 | Срок хранения в очереди processed (14 дней) |
glue_retention_seconds | number | 1209600 | Срок хранения в очереди glue (14 дней) |
Имена очередей (с префиксом medikt-net):
medikt-net-video-mq- очередь для отправки задач транскодированияmedikt-net-chunks-mq- очередь для чанков (обычная)medikt-net-chunks-low-priority-mq- очередь для чанков низкого приоритета (обычная)medikt-net-status-mq- очередь для статусов (обычная)medikt-net-stream-mq.fifo- очередь для потокового транскодирования (FIFO)medikt-net-processed-mq.fifo- очередь для обработанных чанков (FIFO)medikt-net-deadletter-mq- мертвые сообщения (обычная)medikt-net-glue-mq- очередь для склейки (обычная)
Ресурсы
| Ресурс | Описание |
|---|---|
yandex_iam_service_account | Service Account с ролью ymq.admin |
yandex_iam_service_account_static_access_key | Статические access/secret ключи для доступа к очередям |
yandex_message_queue | 8 очередей сообщений |
Kubernetes Secrets
Создаются в namespace prod:
transcoder-sa-creds:
AWS_ACCESS_KEY_ID- access ключ Service AccountAWS_SECRET_ACCESS_KEY- secret ключ Service Account
transcoder_cm конфигурация:
video_q_url- URL очереди video (отправка задач)status_q_url- URL очереди status (статусы)chunk_q_url- URL очереди chunks (нарезка)chunk_q_low_url- URL очереди chunks_low (нарезка низкого приоритета)stream_q_url- URL очереди stream (потоковое транскодирование)processed_chunk_q_url- URL очереди processed (обработанные чанки)glue_q_url- URL очереди glue (склейка)dl_q_url- URL очереди deadletter (мертвые сообщения)
Redrive Policy
Для очередей video, chunks, chunks_low, glue настроен redrive policy:
{
"deadLetterTargetArn": "arn:...:medikt-net-deadletter-mq",
"maxReceiveCount": 3
}
После 3 неуспешных попыток сообщение перемещается в deadletter очередь.