Высокий уровень доступность видео по запросу (VOD) Служб мультимедиа Microsoft Azure

Логотип Служб мультимедиа версии 3


Предупреждение

Поддержка Служб мультимедиа Azure будет прекращена 30 июня 2024 г. Дополнительные сведения см. в руководстве по прекращению поддержки AMS.

Высокий уровень доступность для VOD

В документации по архитектуре Azure имеется шаблон разработки высокого уровня доступности под названием Geodes. В нем описывается развертывание повторяющихся ресурсов в разных географических регионах для обеспечения масштабируемости и устойчивости. Службы Azure можно использовать для создания такой архитектуры, которая охватывает множество различных аспектов высокого уровня доступности — избыточность, мониторинг работоспособности, балансировка нагрузки, резервное копирование и восстановление данных. Одна из таких архитектур описана ниже с подробными сведениями о каждой службе, используемой в решении, а также о том, каким образом отдельные службы можно использовать для создания архитектуры с высоким уровнем доступности для приложения VOD.

Образец

Для ознакомления с высоким уровнем доступности с помощью Служб мультимедиа Microsoft Azure и VOD доступен образец. Кроме того, здесь подробно описано, каким образом службы используются для VOD. Образец в существующем виде не предназначен для использования в рабочей среде. Внимательно ознакомьтесь с образцом кода и файлом readme, особенно с разделом Режимы сбоя, прежде чем интегрировать образец в рабочее приложение. Рабочая реализация высокого уровня доступности VOD также должна тщательно сверяться со стратегией сети доставки содержимого (CDN). См. код на GitHub.

Общие сведения о службах

Ниже перечислены службы, используемые в данном примере архитектуры.

Значок Имя Описание
Это значок учетной записи Служб мультимедиа Microsoft Azure. Учетная запись Служб мультимедиа Microsoft Azure Описание.
Учетная запись Служб мультимедиа Microsoft Azure — отправная точка для управления, шифрования, кодирования, анализа и потоковой передачи содержимого мультимедиа в Azure. Она связана с ресурсом учетной записи службы хранилища Microsoft Azure. Учетная запись служб мультимедиа и все связанные с ней учетные записи хранения должны размещаться в одной подписке Azure.

Использование VOD
Это службы, используемые для кодирования и доставки видео и звуковых ресурсов. Для обеспечения высокой доступности необходимо настроить как минимум две учетные записи Служб мультимедиа Microsoft Azure, в разных регионах. Дополнительные сведения о Службах мультимедиа Microsoft Azure.
Это значок учетной записи хранения. Учетная запись хранения Описание.
Учетная запись хранения Azure содержит все объекты данных службы хранилища Azure: большие двоичные объекты, файлы, очереди, таблицы и диски. Доступ к данным можно получить из любой точки мира по протоколу HTTP или HTTPS.

Каждая учетная запись Служб мультимедиа Microsoft Azure в каждом из регионов будет иметь учетную запись хранения в том же регионе.

Использование VOD
Можно сохранять входные и выходные данные для обработки и потоковой передачи VOD. Дополнительные сведения о службе хранилища Azure.
Это значок очереди службы хранилища Azure. Очередь службы хранилища Azure Описание.
Хранилище очередей Azure — это служба для хранения большого количества сообщений, к которым можно получить доступ практически из любой точки мира с помощью вызовов с проверкой подлинности по протоколам HTTP или HTTPS.

Использование VOD
Очереди можно использовать для отправки и получения сообщений, чтобы координировать действия между различными модулями. В этом примере используется очередь службы хранилища Azure, однако Azure предусматривает и другие типы очередей, например служебную шину, надежные очереди Service Fabric, которые могут лучше подойти для ваших целей. Узнать больше об очередях Azure.
Значок Azure Cosmos DB. Azure Cosmos DB Описание.
Azure Cosmos DB — это глобально распределенная многомодельная база данных Майкрософт, которая позволяет решениям гибко и независимо масштабировать пропускную способность и ресурсы хранилища в любом количестве регионов по всему миру.

Использование VOD
Таблицы можно использовать для хранения записей состояния выходных данных заданий и для отслеживания состояния работоспособности каждого экземпляра Служб мультимедиа Microsoft Azure. Можно также записывать и отслеживать состояние каждого вызова в API Служб мультимедиа Microsoft Azure. Дополнительные сведения об Azure Cosmos DB.
Это значок управляемого удостоверения. Управляемое удостоверение Описание.
Управляемое удостоверение — это функция Azure AD, реализующая автоматически управляемые удостоверения. Удостоверение можно использовать для проверки подлинности в любой службе, которая поддерживает проверку подлинности Azure AD, включая Key Vault, не храня при этом учетных данных в коде.

Использование VOD
Функции Azure могут использовать управляемое удостоверение для проверки подлинности экземпляров Служб мультимедиа Microsoft Azure при подключении к Key Vault. Дополнительные сведения об управляемом удостоверении
Это значок Key Vault. Key Vault Описание.
В Azure Key Vault можно безопасно хранить токены, пароли, сертификаты, ключи API и другую секретную информацию со строгим контролем доступа к ним. Azure Key Vault также может использоваться как решение по управлению ключами. Эта служба позволяет легко создавать и контролировать ключи шифрования, используемые для шифрования данных. Управление сертификатами. С помощью службы Azure Key Vault можно легко выполнять подготовку, администрирование и развертывание общедоступных и частных сертификатов TLS/SSL для использования в Azure и внутренних подключенных ресурсах. Секреты и ключи могут защищаться как программно, так и с помощью FIPS 140-2 уровня 2 с проверкой HSM.

Использование VOD
Key Vault можно использовать для настройки политик доступа субъекта-службы для приложения. Он также может использоваться для хранения строк подключения к учетным записям хранения. Мы используем Key Vault для хранения строк подключения к учетным записям хранения и Cosmos DB. Можно также использовать Key Vault для хранения общей конфигурации кластера. Для каждого экземпляра службы мультимедиа можно хранить идентификатор подписки, имя группы ресурсов и имя учетной записи. Дополнительные сведения см. в образце. Дополнительные сведения о Key Vault.
Это значок Функций Azure. Функции Azure Описание.
Функции Azure позволяют запустить небольшой фрагмент кода (который называется функцией), не заботясь об инфраструктуре приложения. Дополнительные сведения о функциях Azure.

Использование VOD
Функции Azure можно использовать для размещения модулей приложения VOD. Модули для приложения VOD могут включать:

Модуль планирования заданий
Модуль планирования заданий будет использоваться для отправки новых заданий в кластер Служб мультимедиа Microsoft Azure (в два или более экземпляров в разных регионах). Он будет отслеживать состояние работоспособности каждого экземпляра Служб мультимедиа Microsoft Azure и отправлять новое задание в следующий работоспособный экземпляр.

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

Модуль работоспособности экземпляра
Этот модуль будет отслеживать отправленные задания и определять состояние работоспособности каждого экземпляра Служб мультимедиа Microsoft Azure. Он будет отслеживать завершенные задания, невыполненные задания и задания, которые не были завершены.

Модуль подготовки
Этот модуль будет подготавливать обработанные ресурсы. Он будет копировать данные активов во все экземпляры Служб мультимедиа Microsoft Azure и настраивать службу Azure Front Door для потоковой передачи ресурсов даже в случае недоступности некоторых экземпляров Служб мультимедиа Microsoft Azure. Он также будет настраивать указатели потоковой передачи.

Модуль проверки заданий
Этот модуль будет отслеживать все отправленные задания, повторно отправлять невыполненные задания и производить очистку данных после успешного завершения заданий.
Это значок Службы приложений. Служба приложений (и план) Описание.
Служба приложений Azure — это служба на базе HTTP для размещения веб-приложений, интерфейсов REST API и серверной части мобильных решений. Она поддерживает .NET, .NET Core, Java, Node.js, PHP и Python. Приложения работают и масштабируются в средах Windows и Linux.

Использование VOD
Каждый модуль будет размещен в Службе приложений. Дополнительные сведения о Службе приложений
Это значок Azure Front Door. Azure Front Door Описание.
Azure Front Door позволяет определять, отслеживать и контролировать глобальную маршрутизацию для вашего веб-трафика, при этом оптимизация позволяет достичь наилучшей производительности, а мгновенная глобальная отработка отказа — высокой доступности.

Использование VOD
Azure Front Door может использоваться для маршрутизации трафика в конечные точки потоковой передачи. Дополнительные сведения об Azure Front Door.
Это значок Сетки событий Azure. Сетка событий Azure Описание.
Служба "Сетка событий" обеспечивает встроенную поддержку событий, поступающих из таких служб Azure, как хранилища BLOB-объектов и группы ресурсов. Она также поддерживает события пользовательских тем. Можно использовать фильтры для маршрутизации определенных событий к различным конечным точкам, использовать многоадресную рассылку в несколько конечных точек, а также обеспечивать надежную доставку. Сетка событий Azure обеспечивает максимальную доступность, распределяясь между несколькими отказоустойчивыми доменами в каждом регионе, а также между в зонами доступности.

Использование VOD
Сетка событий может использоваться для трассировки всех событий приложения и для сохранения состояния задания. Дополнительные сведения о Сетке событий Azure.
Это значок Application Insights. Application Insights Описание.
Application Insights, компонент Azure Monitor, является расширяемой службой управления производительностью приложений (APM) для разработчиков и DevOps-специалистов. Он служит для мониторинга динамических приложений. Эта служба отслеживает аномалии производительности и содержит мощные аналитические средства, которые помогут вам диагностировать проблемы и понять, что пользователи делают в вашем приложении. Эта служба помогает постоянно улучшать производительность и удобство использования.

Использование VOD
Все журналы можно отправлять в Application Insights. Для каждого задания можно увидеть, какой экземпляр обработал его, выполнив поиск успешно созданных сообщений о заданиях. Он может содержать все отправленные метаданные задания, включая уникальные идентификаторы и сведения об имени экземпляра. Дополнительные сведения об Application Insights.

Архитектура

На этой высокоуровневой схеме показана архитектура образца для начала работы с высоким уровнем доступности и Службами мультимедиа Microsoft Azure.

Высокоуровневая схема архитектуры VOD

Рекомендации

Регионы

  • Создайте две (или несколько) учетных записей Служб мультимедиа Microsoft Azure. Две учетные записи должны относиться к разным регионам. Дополнительные сведения см. в разделе Регионы, в которых развертывается Служба мультимедиа Microsoft Azure.
  • Отправляйте мультимедиа в тот регион, из которого вы планируете отправлять задание.
  • Если необходимо повторно отправить задание в другой регион, можно использовать JobInputHttp или Copy-Blob для копирования данных из контейнера исходного ресурса в контейнер ресурса в другом регионе.

Мониторинг

  • Подпишитесь на сообщения JobStateChange в каждой учетной записи через Сетку событий Azure.

    • Используйте пакет Microsoft.Azure.EventGrid SDK, который обеспечивает собственную поддержку событий Служб мультимедиа Microsoft Azure.
    • Можно также использовать события службы сетки событий через Функции Azure.

    Дополнительные сведения

    • См. образец Audio Analytics, где показано, как отслеживать задание с помощью Сетки событий Azure, включая добавление стратегии отката в случае задержки сообщений по какой-либо причине.
  • При создании задания:

    • Случайным образом выберите учетную запись в списке текущих учетных записей (этот список обычно содержит обе учетные записи, но если возникли какие-либо проблемы, то может содержать только одну). Если список пуст, выдайте оповещение, чтобы оператор мог разобраться с этим.
    • Создайте запись для отслеживания каждого из заданий и используемых региона и учетной записи.
  • Когда обработчик JobStateChange получает уведомление о том, что задание достигло запланированного состояния, запишите время перехода в это состояние, а также регион и учетную запись.

  • Когда обработчик JobStateChange получает уведомление о том, что задание достигло состояния обработки, пометьте запись для задания как находящееся в обработке и запишите время, когда оно перешло в это состояние.

  • Когда обработчик JobStateChange получает уведомление о том, что задание достигло конечного состояния (завершено успешно или с ошибкой, либо отменено), пометьте запись для задания соответствующим образом.

  • Необходим отдельный процесс, который будет периодически проверять записи заданий

    • Если есть задания в запланированном состоянии, которые еще не перешли в состояние обработки за разумный период времени для данного региона, удалите этот регион из списка используемых в данный момент учетных записей. В зависимости от бизнес-требований можно отменить эти задания прямо сейчас, либо отправить их в другой регион. Можно также выделить им дополнительное время для перехода к следующему состоянию.
    • Если регион был удален из списка учетных записей, то прежде чем добавлять его обратно в список, проведите мониторинг. Работоспособность в регионе можно отслеживать с помощью существующих региональных заданий (если они не были отменены и не отправлены повторно), добавив учетную запись обратно в список по истечении определенного периода времени, а операторы смогут отслеживать средства связи Azure на предмет сбоев, которые могут повлиять на Службы мультимедиа Azure.

Справка и поддержка

Вы можете обратиться к Службам мультимедиа с вопросами или следить за нашими обновлениями одним из следующих способов: