Высокий уровень доступность видео по запросу (VOD) Служб мультимедиа Microsoft Azure
Предупреждение
Поддержка Служб мультимедиа Azure будет прекращена 30 июня 2024 г. Дополнительные сведения см. в руководстве по прекращению поддержки AMS.
Высокий уровень доступность для VOD
В документации по архитектуре Azure имеется шаблон разработки высокого уровня доступности под названием Geodes. В нем описывается развертывание повторяющихся ресурсов в разных географических регионах для обеспечения масштабируемости и устойчивости. Службы Azure можно использовать для создания такой архитектуры, которая охватывает множество различных аспектов высокого уровня доступности — избыточность, мониторинг работоспособности, балансировка нагрузки, резервное копирование и восстановление данных. Одна из таких архитектур описана ниже с подробными сведениями о каждой службе, используемой в решении, а также о том, каким образом отдельные службы можно использовать для создания архитектуры с высоким уровнем доступности для приложения VOD.
Образец
Для ознакомления с высоким уровнем доступности с помощью Служб мультимедиа Microsoft Azure и VOD доступен образец. Кроме того, здесь подробно описано, каким образом службы используются для VOD. Образец в существующем виде не предназначен для использования в рабочей среде. Внимательно ознакомьтесь с образцом кода и файлом readme, особенно с разделом Режимы сбоя, прежде чем интегрировать образец в рабочее приложение. Рабочая реализация высокого уровня доступности VOD также должна тщательно сверяться со стратегией сети доставки содержимого (CDN). См. код на GitHub.
Общие сведения о службах
Ниже перечислены службы, используемые в данном примере архитектуры.
Значок | Имя | Описание |
---|---|---|
Учетная запись Служб мультимедиа Microsoft Azure |
Описание. Учетная запись Служб мультимедиа Microsoft Azure — отправная точка для управления, шифрования, кодирования, анализа и потоковой передачи содержимого мультимедиа в Azure. Она связана с ресурсом учетной записи службы хранилища Microsoft Azure. Учетная запись служб мультимедиа и все связанные с ней учетные записи хранения должны размещаться в одной подписке Azure. Использование VOD Это службы, используемые для кодирования и доставки видео и звуковых ресурсов. Для обеспечения высокой доступности необходимо настроить как минимум две учетные записи Служб мультимедиа Microsoft Azure, в разных регионах. Дополнительные сведения о Службах мультимедиа Microsoft Azure. |
|
Учетная запись хранения |
Описание. Учетная запись хранения Azure содержит все объекты данных службы хранилища Azure: большие двоичные объекты, файлы, очереди, таблицы и диски. Доступ к данным можно получить из любой точки мира по протоколу HTTP или HTTPS. Каждая учетная запись Служб мультимедиа Microsoft Azure в каждом из регионов будет иметь учетную запись хранения в том же регионе. Использование VOD Можно сохранять входные и выходные данные для обработки и потоковой передачи VOD. Дополнительные сведения о службе хранилища Azure. |
|
Очередь службы хранилища Azure |
Описание. Хранилище очередей Azure — это служба для хранения большого количества сообщений, к которым можно получить доступ практически из любой точки мира с помощью вызовов с проверкой подлинности по протоколам HTTP или HTTPS. Использование VOD Очереди можно использовать для отправки и получения сообщений, чтобы координировать действия между различными модулями. В этом примере используется очередь службы хранилища Azure, однако Azure предусматривает и другие типы очередей, например служебную шину, надежные очереди Service Fabric, которые могут лучше подойти для ваших целей. Узнать больше об очередях Azure. |
|
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 |
Описание. В 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. Использование 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 позволяет определять, отслеживать и контролировать глобальную маршрутизацию для вашего веб-трафика, при этом оптимизация позволяет достичь наилучшей производительности, а мгновенная глобальная отработка отказа — высокой доступности. Использование VOD Azure Front Door может использоваться для маршрутизации трафика в конечные точки потоковой передачи. Дополнительные сведения об Azure Front Door. |
|
Сетка событий Azure |
Описание. Служба "Сетка событий" обеспечивает встроенную поддержку событий, поступающих из таких служб Azure, как хранилища BLOB-объектов и группы ресурсов. Она также поддерживает события пользовательских тем. Можно использовать фильтры для маршрутизации определенных событий к различным конечным точкам, использовать многоадресную рассылку в несколько конечных точек, а также обеспечивать надежную доставку. Сетка событий Azure обеспечивает максимальную доступность, распределяясь между несколькими отказоустойчивыми доменами в каждом регионе, а также между в зонами доступности. Использование VOD Сетка событий может использоваться для трассировки всех событий приложения и для сохранения состояния задания. Дополнительные сведения о Сетке событий Azure. |
|
Application Insights |
Описание. Application Insights, компонент Azure Monitor, является расширяемой службой управления производительностью приложений (APM) для разработчиков и DevOps-специалистов. Он служит для мониторинга динамических приложений. Эта служба отслеживает аномалии производительности и содержит мощные аналитические средства, которые помогут вам диагностировать проблемы и понять, что пользователи делают в вашем приложении. Эта служба помогает постоянно улучшать производительность и удобство использования. Использование VOD Все журналы можно отправлять в Application Insights. Для каждого задания можно увидеть, какой экземпляр обработал его, выполнив поиск успешно созданных сообщений о заданиях. Он может содержать все отправленные метаданные задания, включая уникальные идентификаторы и сведения об имени экземпляра. Дополнительные сведения об Application Insights. |
Архитектура
На этой высокоуровневой схеме показана архитектура образца для начала работы с высоким уровнем доступности и Службами мультимедиа Microsoft Azure.
Рекомендации
Регионы
- Создайте две (или несколько) учетных записей Служб мультимедиа Microsoft Azure. Две учетные записи должны относиться к разным регионам. Дополнительные сведения см. в разделе Регионы, в которых развертывается Служба мультимедиа Microsoft Azure.
- Отправляйте мультимедиа в тот регион, из которого вы планируете отправлять задание.
- Если необходимо повторно отправить задание в другой регион, можно использовать
JobInputHttp
илиCopy-Blob
для копирования данных из контейнера исходного ресурса в контейнер ресурса в другом регионе.
Мониторинг
Подпишитесь на сообщения
JobStateChange
в каждой учетной записи через Сетку событий Azure.- Используйте пакет Microsoft.Azure.EventGrid SDK, который обеспечивает собственную поддержку событий Служб мультимедиа Microsoft Azure.
- Можно также использовать события службы сетки событий через Функции Azure.
Дополнительные сведения
- См. образец Audio Analytics, где показано, как отслеживать задание с помощью Сетки событий Azure, включая добавление стратегии отката в случае задержки сообщений по какой-либо причине.
При создании задания:
- Случайным образом выберите учетную запись в списке текущих учетных записей (этот список обычно содержит обе учетные записи, но если возникли какие-либо проблемы, то может содержать только одну). Если список пуст, выдайте оповещение, чтобы оператор мог разобраться с этим.
- Создайте запись для отслеживания каждого из заданий и используемых региона и учетной записи.
Когда обработчик
JobStateChange
получает уведомление о том, что задание достигло запланированного состояния, запишите время перехода в это состояние, а также регион и учетную запись.Когда обработчик
JobStateChange
получает уведомление о том, что задание достигло состояния обработки, пометьте запись для задания как находящееся в обработке и запишите время, когда оно перешло в это состояние.Когда обработчик
JobStateChange
получает уведомление о том, что задание достигло конечного состояния (завершено успешно или с ошибкой, либо отменено), пометьте запись для задания соответствующим образом.Необходим отдельный процесс, который будет периодически проверять записи заданий
- Если есть задания в запланированном состоянии, которые еще не перешли в состояние обработки за разумный период времени для данного региона, удалите этот регион из списка используемых в данный момент учетных записей. В зависимости от бизнес-требований можно отменить эти задания прямо сейчас, либо отправить их в другой регион. Можно также выделить им дополнительное время для перехода к следующему состоянию.
- Если регион был удален из списка учетных записей, то прежде чем добавлять его обратно в список, проведите мониторинг. Работоспособность в регионе можно отслеживать с помощью существующих региональных заданий (если они не были отменены и не отправлены повторно), добавив учетную запись обратно в список по истечении определенного периода времени, а операторы смогут отслеживать средства связи Azure на предмет сбоев, которые могут повлиять на Службы мультимедиа Azure.
Справка и поддержка
Вы можете обратиться к Службам мультимедиа с вопросами или следить за нашими обновлениями одним из следующих способов:
- ВОПРОСЫ И ОТВЕТЫ
-
Stack Overflow. Пометьте вопросы с помощью
azure-media-services
. - @MSFTAzureMedia или используйте @AzureSupport для запроса на поддержку.
- Отправьте запрос в службу поддержки через портал Azure.