Skip to main content
Version: 1.12-grodno (current)

Yandex Message Queue (YMQ)

YMQ - это managed очереди сообщений в Yandex Cloud, используемые для транскодирования видео.


Развертывание

Очереди развертываются с помощью Terraform модуля transcoder_queues.

Модуль

Источник: ../modules/transcoder_queues

Переменные:

ИмяТипПо умолчаниюОписание
prefixstring-Префикс для имен очередей (например, medikt-net)
video_retention_secondsnumber1209600Срок хранения сообщений в очереди video (14 дней)
chunks_retention_secondsnumber1209600Срок хранения в очередях chunks/chunks_low (14 дней)
status_retention_secondsnumber1209600Срок хранения в очереди status (14 дней)
stream_retention_secondsnumber1209600Срок хранения в очереди stream (14 дней)
processed_retention_secondsnumber1209600Срок хранения в очереди processed (14 дней)
glue_retention_secondsnumber1209600Срок хранения в очереди 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_accountService Account с ролью ymq.admin
yandex_iam_service_account_static_access_keyСтатические access/secret ключи для доступа к очередям
yandex_message_queue8 очередей сообщений

Kubernetes Secrets

Создаются в namespace prod:

transcoder-sa-creds:

  • AWS_ACCESS_KEY_ID - access ключ Service Account
  • AWS_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 очередь.