قابلية الوصول العالية مع خدمات الوسائط والفيديو عند الطلب (VOD)

شعار Media Services v3


تحذير

سيتم إيقاف Azure Media Services في 30 يونيو 2024. لمزيد من المعلومات، راجع دليل إيقاف AMS.

قابلية الوصول العالية لـ VOD

هناك نمط لتصميم قابلية الوصول العالية يسمى Geodes في وثائق Azure Architecture. وهو يصف كيفية نشر الموارد المكررة إلى مناطق جغرافية مختلفة لتوفير قابلية التوسع والمرونة. يمكنك استخدام خدمات Azure لإنشاء مثل هذه البنية لتغطية العديد من اعتبارات تصميم قابلية الوصول العالية مثل التكرار ومراقبة الصحة وموازنة التحميل والنسخ الاحتياطي للبيانات واستردادها. يتم وصف إحدى هذه البنى أدناه مع تفاصيل حول كل خدمة تستخدم في الحل بالإضافة إلى كيفية استخدام الخدمات الفردية لإنشاء بنية قابلية وصول عالية لتطبيق VOD الخاص بك.

العينة

هناك عينة متاحة لك لاستخدامها لتصبح على دراية بقابلية الوصول العالية مع خدمات الوسائط والفيديو عند الطلب (VOD). تتناول أيضًا المزيد من التفاصيل حول كيفية استخدام الخدمات لسيناريو VOD. لا يقصد بالعينة استخدامها في الإنتاج في شكلها الحالي. راجع عينة التعليمات البرمجية والملف التمهيدي بعناية، خاصة القسم المتعلق بأوضاع الفشل قبل دمجه في تطبيق الإنتاج. يجب أيضًا أن يقوم تنفيذ الإنتاج لقابلية الوصول العالية للفيديو عند الطلب (VOD) بمراجعة استراتيجية شبكة تسليم المحتوى (CDN) بعناية. تحقق من التعليمة البرمجية على GitHub.

نظرة عامة على الخدمات

تتضمن الخدمات المستخدمة في مثال البنية هذا ما يلي:

الرمز الاسم الوصف
هذه أيقونة حساب خدمات الوسائط. حساب خدمات الوسائط ⁩الوصف⁧
حساب خدمات الوسائط هو نقطة البداية لإدارة محتوى الوسائط في Azure وتشفيره وترميزه وتحليله ودفقه. وهو مقترن بمورد حساب Azure Storage. يجب أن يكون الحساب وكافة حسابات التخزين المقترنة في نفس اشتراك Azure.

استخدام VOD:
هذه هي الخدمات التي تستخدمها لترميز وتقديم أصول الفيديو والصوت. للحصول على قابلية وصول عالية، يمكنك إعداد حسابين على الأقل من خدمات الوسائط، كل منهما في منطقة مختلفة. تعرف على المزيد حول خدمات وسائط Azure.
هذه هي أيقونة حساب التخزين. حساب التخزين ⁩الوصف⁧
يحتوي حساب تخزين Azure على جميع عناصر بيانات Azure Storage: الكائنات الثنائية كبيرة الحجم والملفات وقوائم الانتظار والجداول والأقراص. البيانات يمكن الوصول إليها من أي مكان في العالم عبر HTTP أو HTTPS.

سيكون لكل حساب خدمات الوسائط، في كل منطقة حساب تخزين في نفس المنطقة.

استخدام VOD:
يمكنك تخزين بيانات الإدخال والإخراج لمعالجة VOD ودفقه. ⁩⁧تعرف على المزيد حول Azure Storage⁧⁩.
هذه هي أيقونة Azure Storage Queue. Azure Storage Queue ⁩الوصف⁧
يعتبر تخزين Azure Queue خدمة لتخزين أعداد كبيرة من الرسائل التي يمكن الوصول إليها من أي مكان في العالم عبر مكالمات مصادق عليها باستخدام HTTP أو HTTPS.

استخدام VOD:
يمكن استخدام قوائم الانتظار لإرسال الرسائل وتلقيها لتنسيق الأنشطة بين الوحدات النمطية المختلفة. تستخدم العينة Azure Storage Queue ولكن يوفر Azure أنواعًا أخرى من قوائم الانتظار مثل Service Bus وService Fabric Reliable Queues التي قد تناسب احتياجاتك بشكل أفضل. ⁧⁩تعرف على المزيد حول Azure Queue⁧⁩.
هذه هي أيقونة Azure Cosmos DB. Azure Cosmos DB ⁩الوصف⁧
Azure Cosmos DB هي خدمة قاعدة بيانات Microsoft الموزعة عالميًا والمتعددة النماذج التي تقوم بتحجيم معدل النقل والتخزين بشكل مستقل عبر أي عدد من مناطق Azure في جميع أنحاء العالم.

استخدام VOD:
يمكن استخدام الجداول لتخزين سجلات حالة إخراج الوظيفة وتعقب الحالة الصحية لكل مثيل خدمات الوسائط. يمكنك أيضًا تعقب/تسجيل حالة كل استدعاء إلى واجهة برمجة تطبيقات خدمات الوسائط. تعرف على المزيد حول Azure Cosmos DB.
هذه هي أيقونة الهوية المُدارة. الهوية المُدارة ⁩الوصف⁧
الهوية المُدارة هي ميزة من ميزات Azure AD التي توفر هوية مُدارة تلقائيًا في Azure AD. يمكن استخدامها للمصادقة على أي خدمة تدعم مصادقة Azure AD، وتشمل Key Vault، دون تخزين بيانات الاعتماد في التعليمة البرمجية.

استخدام VOD:
يمكن لـ Azure Functions استخدام الهوية المُدارة للمصادقة على مثيلات خدمات الوسائط للاتصال بـ Key Vault. تعرف على المزيد حول الهوية المُدارة.
هذه هي أيقونة Key Vault. Key Vault ⁩الوصف⁧
يمكن استخدام Azure Key Vault للتخزين بأمان والتحكم بدرجة كبيرة في الوصول إلى الرموز المميزة، وكلمات المرور، والشهادات، ومفاتيح واجهة برمجة التطبيقات، وأسرار أخرى. يمكن أيضًا استخدامها كحل لإدارة المفاتيح. تجعل الأداة «Azure Key Vault» من السهل إنشاء مفاتيح التشفير المستخدمة لتشفير بياناتك والتحكم فيها. يمكنها أيضًا توفير الشهادات العامة والخاصة لبروتوكول أمان طبقة النقل/طبقة مآخذ التوصيل الآمنة (TLS/SSL) وإدارتها ونشرها بسهولة، لاستخدامها مع Azure والموارد الداخلية المتصلة. يمكن حماية الأسرار والمفاتيح إما بواسطة البرامج أو بواسطة وحدات HSM المتحقق من صحتها من المستوى الثاني في FIPS 140-2.

استخدام VOD:
يمكن استخدام Key Vault لإعداد نُهج الوصول لكيان الخدمة لتطبيقك. يمكن استخدامها لتخزين سلسلة الاتصال بحسابات التخزين. نستخدم Key Vault لتخزين سلاسل الاتصال بحسابات التخزين وcosmos db. يمكنك أيضًا استخدام Key Vault لتخزين التكوين الكلي لنظام المجموعة. لكل مثيل خدمة وسائط، يمكنك تخزين معرّف الاشتراك واسم مجموعة الموارد واسم الحساب. لمزيد من التفاصيل، راجع كيفية استخدامه في العينة. تعرف على المزيد حول Key Vault.
هذه هي أيقونة Azure Functions. دالات Azure ⁩الوصف⁧
تشغيل أجزاء صغيرة من التعليمات البرمجية (تسمى «الدوال») دون القلق بشأن البنية الأساسية للتطبيق مع Azure Functions. تعرف على المزيد بشأن Azure Event Grid.

استخدام VOD:
يمكن استخدام Azure Functions لتخزين واستضافة الوحدات النمطية لتطبيق VOD الخاص بك. يمكن أن تتضمن الوحدات النمطية لتطبيق VOD ما يلي:

الوحدة النمطية لجدولة الوظائف
ستكون الوحدة النمطية لجدولة الوظائف لإرسال وظائف جديدة إلى مجموعة خدمات الوسائط (مثيلان أو أكثر في مناطق مختلفة). ستتعقب الحالة الصحية لكل مثيل خدمات الوسائط وسترسل وظيفة جديدة إلى المثيل الصحي التالي.

الوحدة النمطية لحالة الوظيفة
ستستمع الوحدة النمطية لحالة الوظيفة إلى أحداث حالة إخراج الوظيفة القادمة من خدمة Azure Event Grid. ستقوم بتخزين الأحداث إلى مخزن الأحداث لتقليل عدد الاستدعاءات إلى واجهات برمجة تطبيقات خدمات الوسائط بواسطة بقية الوحدات النمطية.

الوحدة النمطية لصحة المثيل
ستتعقب هذه الوحدة النمطية الوظائف المرسلة وتحدد الحالة الصحية لكل مثيل خدمات الوسائط. ستتعقب الوظائف المنتهية والوظائف الفاشلة والوظائف التي لم تنتهِ أبدًا.

الوحدة النمطية للتوفير
ستوفر هذه الوحدة النمطية الأصول المُعالجَة. سيقوم بنسخ بيانات الأصول إلى جميع مثيلات Media Services وإعداد خدمة Azure Front Door لضمان إمكانية دفق الأصول حتى إذا لم تكن بعض مثيلات Media Services متوفرة. ستقوم أيضًا بإعداد محددات مواقع الدفق.

الوحدة النمطية للتحقق من الوظيفة
ستقوم هذه الوحدة النمطية بتعقب كل وظيفة تم إرسالها، وإعادة إرسال الوظائف الفاشلة، وإجراء تنظيف لبيانات الوظيفة بمجرد الانتهاء من الوظيفة بنجاح.
هذه هي أيقونة App Service. App Service (وخطة) ⁩الوصف⁧
Azure App Service هي خدمة تستند إلى HTTP لاستضافة تطبيقات الويب وواجهة برمجة تطبيقات REST وخلفيات الجوال. وهو يدعم .NET أو .NET Core أو Java أو Node.js أو PHP أو Python. تعمل التطبيقات وتتوسّع على كلٍ من البيئات التي تستند إلى نظامي التشغيل Windows وLinux.

استخدام VOD:
سيستضيف App Service كل وحدة نمطية. تعرف على المزيد حول App Service.
هذه هي أيقونة Azure Front Door. Azure Front Door ⁩الوصف⁧
تُستخدم Azure Front Door لتحديد وإدارة ومراقبة التوجيه العالمي لنسبة استخدام شبكة الويب بالتحسين للوصول إلى أفضل أداء وتجاوز الفشل العالمي السريع لتوفير قابلية وصول عالية.

استخدام VOD:
يمكن استخدام Azure Front Door لتوجيه نسبة استخدام الشبكة إلى نقاط نهاية الدفق. تعرّف على المزيد حول Azure Front Door.
هذه هي أيقونة Azure Event Grid. Azure Event Grid ⁩الوصف⁧
نظرًا إلى أنها تم إنشاؤها من أجل البنى المعتمدة على الحدث، تحتوي Event Grid على دعم مضمن للأحداث القادمة من خدمات Azure، مثل الكائنات الثنائية كبيرة الحجم للتخزين ومجموعات الموارد. إنها أيضًا تحتوي على دعم لأحداث الموضوع المخصصة. يمكن استخدام عوامل التصفية لتوجيه أحداث معينة إلى نقاط نهاية مختلفة، والبث المتعدد إلى نقاط النهاية المتعددة، والتأكد من تسليم الأحداث بشكل موثوق به. وتزيد التوفر عن طريق الانتشار الأصلي عبر مجالات أخطاء متعددة في كل منطقة، وعبر مناطق التوفر.

استخدام VOD:
يمكن استخدام Event Grid لتعقب جميع أحداث التطبيق وتخزينها لاستمرار حالة الوظيفة. تعرف على المزيد حول Azure Event Grid.
هذه هي أيقونة Application Insights. Application Insights ⁩الوصف⁧
إن Application Insights، هي عبارة عن ميزة من Azure Monitor، تتضمن خدمة إدارة أداء التطبيق القابلة للتوسيع (APM) للمطورين ومحترفي DevOps. يتم استخدامه لمراقبة التطبيقات المباشرة. إنه يكتشف الحالات الخارجة عن المألوف في الأداء ويتضمن أدوات تحليلية لتشخيص المشكلات وفهم ما يفعله المستخدمين بالتطبيق. إنها مصممة لمساعدتك على تحسين الأداء وسهولة الاستخدام باستمرار.

استخدام VOD:
يمكن إرسال جميع السجلات إلى Application Insights. سيكون من الممكن معرفة المثيل الذي قام بمعالجة كل وظيفة عن طريق البحث عن رسائل الوظيفة التي تم إنشاؤها بنجاح. يمكن أن يحتوي على جميع بيانات تعريف الوظيفة المرسلة، بما في ذلك المعرّف الفريد ومعلومات اسم المثيل. تعرّف على المزيد حول Application Insights.

بناء الأنظمة

يوضح هذا الرسم التخطيطي عالي المستوى بنية العينة المقدمة لتبدأ استخدام قابلية الوصول العالية وخدمات الوسائط.

الرسم التخطيطي عالي المستوى لبنية الفيديو عند الطلب (VOD)

أفضل الممارسات

المناطق

  • إنشاء حسابين (أو أكثر) من حسابات Azure Media Services. يجب أن يكون الحسابان في مناطق مختلفة. لمزيد من المعلومات، راجع المناطق التي يتم فيها نشر خدمة Azure Media Services.
  • قم بتحميل الوسائط الخاصة بك إلى نفس المنطقة التي تخطط لإرسال الوظيفة منها.
  • إذا كنت بحاجة بعد ذلك إلى إعادة إرسال الوظيفة إلى منطقة أخرى، يمكنك استخدام JobInputHttp أو استخدام Copy-Blob لنسخ البيانات من حاوية الأصل المصدر إلى حاوية الأصل في المنطقة البديلة.

المراقبة

  • اشترك في رسائل JobStateChange في كل حساب عبر Azure Event Grid.

    • استخدم Microsoft.Azure.EventGrid SDK (التي تدعم أحداث خدمات الوسائط في الأصل).
    • يمكنك أيضًا استهلاك أحداث Event Grid عبر Azure Functions.

    لمزيد من المعلومات:

    • راجع نموذج تحليلات الصوت الذي يوضح كيفية مراقبة وظيفة باستخدام Azure Event Grid، بما في ذلك إضافة وظيفة احتياطية في حالة تأخير رسائل Azure Event Grid لسبب ما.
  • عندما تنشئ وظيفة:

    • حدد حسابًا عشوائيًا من قائمة الحسابات المستخدمة حاليًا (ستحتوي هذه القائمة عادة على كلا الحسابين ولكن إذا تم اكتشاف مشكلات، فقد تحتوي على حساب واحد فقط). إذا كانت القائمة فارغة، فقدم تنبيهًا حتى يتمكن عامل التشغيل من التحقيق.
    • أنشئ سجلاً لتتبع كل وظيفة في الاختبار والمنطقة/الحساب المستخدم.
  • عندما يتلقى المعالج JobStateChange إعلامًا بأن الوظيفة قد وصلت إلى الحالة المجدولة، سجل الوقت الذي تدخل فيه إلى الحالة المجدولة والمنطقة/الحساب المستخدم.

  • عندما يتلقى المعالج JobStateChange إعلامًا بأن الوظيفة قد وصلت إلى حالة المعالجة، ضع علامة على السجل الخاص بالوظيفة على أنها قيد المعالجة وسجل الوقت الذي تدخل فيه إلى حالة المعالجة.

  • عندما يتلقى المعالج JobStateChange إعلامًا بأن الوظيفة قد وصلت إلى الحالة النهائية (تم الانتهاء/الخطأ/الإلغاء)، قم بوضع علامة على السجل للوظيفة بشكل مناسب.

  • لديك عملية منفصلة تبحث بشكل دوري في سجلات الوظائف الخاصة بك

    • إذا كانت لديك وظائف في الحالة المجدولة لم تتقدم إلى حالة المعالجة في فترة زمنية معقولة لمنطقة معينة، فقم بإزالة تلك المنطقة من قائمة الحسابات المستخدمة حاليًا. اعتمادًا على متطلبات عملك، يمكنك أن تقرر إلغاء هذه الوظائف على الفور وإعادة إرسالها إلى المنطقة الأخرى. أو يمكنك منحها بعض الوقت للانتقال إلى الحالة التالية.
    • إذا تمت إزالة منطقة من قائمة الحسابات، فراقبها للاسترداد قبل إضافتها مرة أخرى إلى القائمة. يمكن مراقبة الصحة الإقليمية عبر الوظائف الموجودة في المنطقة (إذا لم يتم إلغاؤها وإعادة إرسالها)، عن طريق إضافة الحساب مرة أخرى إلى القائمة بعد فترة من الوقت، ومن خلال المشغلين الذين يراقبون اتصالات Azure حول الانقطاعات التي قد تؤثر على خدمات وسائط Azure.

الحصول على التعليمات والدعم

يمكنك الاتصال بخدمات الوسائط بأسئلة أو اتباع تحديثاتنا بإحدى الطرق التالية: