Sdílet prostřednictvím


Vysoká dostupnost s Media Services a video na vyžádání (VOD)

Logo Media Services v3


Upozornění

Služba Azure Media Services bude vyřazena 30. června 2024. Další informace najdete v průvodci vyřazením AMS.

Vysoká dostupnost pro VOD

V dokumentaci k architektuře Azure existuje vzor návrhu s vysokou dostupností s názvem Geodes . Popisuje, jak se duplicitní prostředky nasazují do různých geografických oblastí za účelem zajištění škálovatelnosti a odolnosti. Pomocí služeb Azure můžete vytvořit takovou architekturu, která pokryje řadu aspektů návrhu s vysokou dostupností, jako je redundance, monitorování stavu, vyrovnávání zatížení a zálohování a obnovení dat. Jedna taková architektura je popsána níže s podrobnostmi o jednotlivých službách používaných v řešení a o tom, jak je možné jednotlivé služby použít k vytvoření architektury vysoké dostupnosti pro vaši aplikaci VOD.

Ukázka

K dispozici je ukázka, kterou můžete použít, abyste se seznámili s vysokou dostupností media services a video na vyžádání (VOD). Obsahuje také podrobnější informace o tom, jak se služby používají pro scénář vod. Vzorek není určen k použití v produkčním prostředí v jeho aktuální podobě. Před integrací do produkční aplikace pečlivě zkontrolujte vzorový kód a readme, zejména část věnovanou režimům selhání . Produkční implementace vysoké dostupnosti pro video na vyžádání (VOD) by také měla pečlivě zkontrolovat strategii content delivery network (CDN). Podívejte se na kód na GitHubu.

Přehled služeb

Mezi služby použité v této ukázkové architektuře patří:

Ikona Název Description
Toto je ikona účtu Media Services. Účet služby Media Services Popis:
Účet Media Services je výchozím bodem pro správu, šifrování, kódování, analýzu a streamování mediálního obsahu v Azure. Je přidružený k prostředku účtu Azure Storage. Účet a všechna přidružená úložiště musí být ve stejném předplatném Azure.

Použití VOD:
Toto jsou služby, které používáte ke kódování a doručování video a zvukových prostředků. Pro zajištění vysoké dostupnosti byste nastavili alespoň dva účty Media Services, každý v jiné oblasti. Přečtěte si další informace o službě Azure Media Services.
Toto je ikona účtu úložiště. Účet úložiště Popis:
Účet úložiště Azure obsahuje všechny datové objekty Azure Storage: objekty blob, soubory, fronty, tabulky a disky. Data jsou přístupná odkudkoli na světě přes PROTOKOL HTTP nebo HTTPS.

Každý účet Media Services v každé oblasti by měl účet úložiště ve stejné oblasti.

Použití VOD:
Můžete ukládat vstupní a výstupní data pro zpracování a streamování VOD. Přečtěte si další informace o službě Azure Storage.
Toto je ikona fronty služby Azure Storage. Azure Queue Storage Popis:
Azure Queue Storage je služba pro ukládání velkého počtu zpráv, ke které můžete získat přístup z jakéhokoli místa na světě prostřednictvím ověřených volání s využitím protokolu HTTP nebo HTTPS.

Použití VOD:
Fronty se dají použít k odesílání a přijímání zpráv ke koordinaci aktivit mezi různými moduly. Ukázka používá frontu služby Azure Storage, ale Azure poskytuje jiné typy front, jako jsou service bus a spolehlivé fronty Service Fabric, které můžou lépe vyhovovat vašim potřebám. Přečtěte si další informace o službě Azure Queue.
Toto je ikona Služby Azure Cosmos DB. Azure Cosmos DB Popis:
Azure Cosmos DB je globálně distribuovaná databázová služba Microsoftu s více modely, která nezávisle škáluje propustnost a úložiště v libovolném počtu oblastí Azure po celém světě.

Použití VOD:
Tabulky je možné použít k ukládání výstupních záznamů o stavu úlohy a ke sledování stavu jednotlivých instancí Media Services. Můžete také sledovat nebo zaznamenávat stav každého volání rozhraní API služby Media Services. Přečtěte si další informace o službě Azure Cosmos DB.
Toto je ikona spravované identity. Spravovaná identita Popis:
Spravovaná identita je funkce Azure AD, která poskytuje automaticky spravovanou identitu v Azure AD. Dá se použít k ověření u jakékoli služby, která podporuje ověřování Azure AD, včetně Key Vault, bez uložení přihlašovacích údajů v kódu.

Použití VOD:
Azure Functions se můžou pomocí spravované identity ověřovat v instancích Media Services a připojovat se k Key Vault. Přečtěte si další informace o spravované identitě.
Toto je ikona Key Vault. Key Vault Popis:
Azure Key Vault je možné použít k bezpečnému ukládání tokenů, hesel, certifikátům, klíčům rozhraní API a dalším tajným klíčům a k jejich těsnému řízení. Dá se také použít jako řešení správy klíčů. Azure Key Vault usnadňuje vytváření a správu šifrovacích klíčů sloužících k šifrování dat. Může snadno zřizovat, spravovat a nasazovat veřejné a privátní certifikáty TLS/SSL (Transport Layer Security/Secure Sockets Layer) pro použití s Azure a interními připojenými prostředky. Tajné kódy a klíče mohou být chráněny buď softwarem, nebo moduly HSM ověřenými standardem FIPS 140-2 úrovně 2.

Použití VOD:
Key Vault můžete použít k nastavení zásad přístupu pro instanční objekt pro vaši aplikaci. Dá se použít k ukládání připojovací řetězec do účtů úložiště. Používáme Key Vault k ukládání připojovacích řetězců do účtů úložiště a cosmos db. K uložení celkové konfigurace clusteru můžete také použít Key Vault. Pro každou instanci služby Media Service můžete uložit ID předplatného, název skupiny prostředků a název účtu. Další podrobnosti najdete v ukázce, jak se používá. Přečtěte si další informace o Key Vault.
Toto je ikona Azure Functions. Azure Functions Popis:
Spouštějte malé části kódu (označované jako "funkce"), aniž byste se museli starat o infrastrukturu aplikací s Azure Functions. Přečtěte si další informace o Azure Functions.

Použití VOD:
Azure Functions můžete použít k ukládání hostitelů modulů vaší aplikace VOD. Moduly pro aplikaci VOD mohou zahrnovat:

Modul plánování úloh
Modul plánování úloh by byl pro odesílání nových úloh do clusteru Media Services (dvě nebo více instancí v různých oblastech). Bude sledovat stav každé instance Media Services a odeslat novou úlohu do další instance, která je v pořádku.

Modul stavu úlohy
Modul stavu úlohy bude naslouchat událostem stavu výstupu úlohy pocházejícím z Azure Event Grid služby. Ukládá události do úložiště událostí, aby se minimalizoval počet volání rozhraní API služby Media Services zbývajícími moduly.

Modul stavu instance
Tento modul bude sledovat odeslané úlohy a určovat stav jednotlivých instancí Media Services. Bude sledovat dokončené úlohy, neúspěšné úlohy a úlohy, které se nikdy nedokončily.

Modul zřizování
Tento modul by zřídil zpracované prostředky. Zkopíruje data prostředků do všech instancí Media Services a nastaví službu Azure Front Door, aby se zajistilo, že se prostředky budou streamovat i v případě, že některé instance Media Services nejsou dostupné. Také by se nastavily lokátory streamování.

Modul ověření úlohy
Tento modul by sledoval každou odeslanou úlohu, znovu odeslal neúspěšné úlohy a po úspěšném dokončení úlohy vyčistil data úlohy.
Toto je ikona App Service. App Service (a plán) Popis:
Azure App Service je služba založená na protokolu HTTP pro hostování webových aplikací, rozhraní REST API a mobilních back-endů. Podporuje .NET, .NET Core, Javu, Node.js, PHP nebo Python. Aplikace se spouštějí a škálují v prostředích založených na Windows i Linuxu.

Použití vod:
Každý modul bude hostovat App Service. Přečtěte si další informace o App Service.
Toto je ikona služby Azure Front Door. Azure Front Door Popis:
Azure Front Door slouží k definování, správě a monitorování globálního směrování webového provozu prostřednictvím optimalizace pro zajištění nejlepšího výkonu a rychlého globálního převzetí služeb při selhání pro zajištění vysoké dostupnosti.

Použití vod:
Azure Front Door je možné použít ke směrování provozu do koncových bodů streamování. Přečtěte si další informace o službě Azure Front Door.
Toto je ikona Azure Event Grid. Azure Event Grid Popis:
Služba Event Grid je vytvořená pro architektury založené na událostech a nabízí integrovanou podporu událostí pocházejících ze služeb Azure, jako jsou objekty blob úložiště a skupiny prostředků. Podporuje také události vlastních témat. Filtry je možné použít ke směrování konkrétních událostí do různých koncových bodů, vícesměrového vysílání do více koncových bodů a k zajištění spolehlivého doručení událostí. Maximalizuje dostupnost tím, že nativně rozprostírá několik domén selhání v každé oblasti a mezi zóny dostupnosti.

Použití vod:
Event Grid se dá použít ke sledování všech událostí aplikace a jejich ukládání, aby se zachoval stav úlohy. Přečtěte si další informace o Azure Event Grid.
Toto je ikona Application Insights. Application Insights Popis:
Application Insights je funkcí Azure Monitoru. Je to rozšiřitelná služba pro správu výkonu aplikací (APM) pro vývojáře a odborníky na DevOps. Používá se k monitorování živých aplikací. Detekuje anomálie ve výkonu a zahrnuje analytické nástroje k diagnostice problémů a k pochopení toho, co uživatelé s aplikací dělají. Je navržena tak, aby pomáhala průběžně vylepšovat výkon a možnosti využití.

Použití vod:
Všechny protokoly je možné odeslat do Application Insights. Bylo by možné zjistit, která instance zpracovala jednotlivé úlohy, vyhledáním zpráv o úspěšně vytvořených úlohách. Může obsahovat všechna odeslaná metadata úlohy, včetně jedinečného identifikátoru a názvu instance. Přečtěte si další informace o Application Insights.

Architektura

Tento diagram vysoké úrovně znázorňuje architekturu ukázky, která vám umožní začít s vysokou dostupností a mediálními službami.

Diagram architektury vysoké úrovně videa na vyžádání

Osvědčené postupy

Oblasti

  • Vytvořte dva (nebo více) účtů Azure Media Services. Tyto dva účty musí být v různých oblastech. Další informace najdete v tématu Oblasti, ve kterých je nasazená služba Azure Media Services.
  • Nahrajte multimédia do stejné oblasti, ze které plánujete odeslat úlohu.
  • Pokud pak potřebujete úlohu znovu odeslat do jiné oblasti, můžete použít JobInputHttp nebo použít Copy-Blob ke zkopírování dat ze zdrojového kontejneru assetů do kontejneru prostředků v alternativní oblasti.

Monitorování

  • JobStateChange Přihlaste se k odběru zpráv v jednotlivých účtech prostřednictvím Azure Event Grid.

    • Použijte sadu Microsoft.Azure.EventGrid SDK (která nativně podporuje události Media Services).
    • Události Event Gridu můžete využívat také prostřednictvím Azure Functions.

    Další informace najdete tady:

    • Podívejte se na ukázku analýzy zvuku, která ukazuje, jak monitorovat úlohu pomocí Azure Event Grid včetně přidání náhradního řešení pro případ, že se Azure Event Grid zprávy z nějakého důvodu zpozdí.
  • Při vytváření úlohy:

    • Náhodně vyberte účet ze seznamu aktuálně používaných účtů (tento seznam obvykle obsahuje oba účty, ale pokud se zjistí problémy, může obsahovat pouze jeden účet). Pokud je seznam prázdný, vytvořte upozornění, aby ho mohl prozkoumat operátor.
    • Vytvořte záznam, který bude sledovat každou příchozí úlohu a použitou oblast nebo účet.
  • Když vaše JobStateChange obslužná rutina obdrží oznámení, že úloha dosáhla naplánovaného stavu, zaznamenejte čas, kdy vstoupí do naplánovaného stavu, a použitou oblast nebo účet.

  • Když vaše JobStateChange obslužná rutina obdrží oznámení, že úloha dosáhla stavu zpracování, označte záznam pro úlohu jako zpracování a zaznamenejte čas, kdy přejde do stavu zpracování.

  • Když vaše JobStateChange obslužná rutina obdrží oznámení, že úloha dosáhla konečného stavu (Dokončeno, Chyba nebo Zrušeno), odpovídajícím způsobem označte záznam úlohy.

  • Mít samostatný proces, který pravidelně sleduje záznamy úloh.

    • Pokud máte úlohy v naplánovaném stavu, které v přiměřené době nepřešly do stavu zpracování pro danou oblast, odeberte tuto oblast ze seznamu aktuálně používaných účtů. V závislosti na vašich obchodních požadavcích se můžete rozhodnout tyto úlohy okamžitě zrušit a znovu je odeslat do jiné oblasti. Nebo jim můžete dát trochu času na přechod do dalšího stavu.
    • Pokud se oblast odebrala ze seznamu účtů, sledujte ji před tím, než ji přidáte zpátky do seznamu. Stav oblasti je možné monitorovat prostřednictvím existujících úloh v oblasti (pokud nebyly zrušeny a znovu odeslány), přidáním účtu zpět na seznam po určité době a operátory monitorujícími komunikaci Azure o výpadkech, které mohou mít vliv na Azure Media Services.

Získání nápovědy a podpory

Službu Media Services můžete kontaktovat s dotazy nebo můžete sledovat naše aktualizace jedním z následujících způsobů: