قابلية وصول عالية مع خدمات الوسائط والفيديو عند الطلب (VOD)
هل تبحث عن وثائق خدمات الوسائط v2 ؟
هل تواجه مشكلة؟ راجع دليل استكشاف الأخطاء وإصلاحها للحصول على حلول للمشكلات المتعلقة باستخدام خدمات الوسائط.
يمكن العثور على نماذج التعليمات البرمجية في صفحة Samples .
قابلية وصول عالية ل VOD
هناك نمط تصميم عالي التوفر يسمى Geodes في وثائق Azure Architecture. وهو يصف كيفية توزيع الموارد المكررة في مناطق جغرافية مختلفة لتوفير قابلية التوسع والمرونة. يمكنك استخدام خدمات Azure لإنشاء مثل هذه البنية لتغطية العديد من اعتبارات التصميم عالية التوفر مثل التكرار والمراقبة الصحية وموازنة التحميل والنسخ الاحتياطي للبيانات واستردادها. يتم وصف أحد هذه البنى أدناه مع تفاصيل حول كل خدمة مستخدمة في الحل بالإضافة إلى كيفية استخدام الخدمات الفردية لإنشاء بنية قابلية وصول عالية لتطبيق VOD الخاص بك.
العينة
هناك عينة متاحة لك لاستخدامها لتصبح على دراية بقابلية الوصول العالية مع خدمات الوسائط والفيديو عند الطلب (VOD). كما أنها تذهب إلى مزيد من التفاصيل حول كيفية استخدام الخدمات لسيناريو VOD. لا يقصد بالعينة أن تستخدم في الإنتاج في شكلها الحالي. راجع بعناية نموذج التعليمات البرمجية و readme، خاصة القسم المتعلق بأوضاع الفشل قبل دمجه في تطبيق إنتاج. يجب أيضا أن يقوم تنفيذ الإنتاج لقابلية الوصول العالية للفيديو عند الطلب (VOD) بمراجعة استراتيجية شبكة تسليم المحتوى (CDN) بعناية. تحقق من التعليمات البرمجية على GitHub.
نظرة عامة على الخدمات
تتضمن الخدمات المستخدمة في بنية المثال هذه ما يلي:
| الرمز | الاسم | الوصف |
|---|---|---|
| حساب خدمات الوسائط | الوصف حساب خدمات الوسائط هو نقطة البداية لإدارة محتوى الوسائط وتشفيره وترميزه وتحليله وبثه في Azure. وهو مقترن بمورد حساب Azure Storage. يجب أن يكون الحساب وجميع التخزين المقترن في نفس اشتراك Azure. استخدام VOD: هذه هي الخدمات التي تستخدمها لترميز أصول الفيديو والصوت وتسليمها. للحصول على قابلية وصول عالية، يمكنك إعداد حسابين على الأقل من خدمات الوسائط، كل منهما في منطقة مختلفة. تعرف على المزيد حول Azure Media Services. |
|
| حساب التخزين | الوصف يحتوي حساب تخزين Azure على جميع كائنات بيانات Azure Storage: الكائنات الثنائية كبيرة الحجم والملفات وقوائم الانتظار والجداول والأقراص. يمكن الوصول إلى البيانات من أي مكان في العالم عبر HTTP أو HTTPS. سيكون لكل حساب خدمات الوسائط، في كل منطقة حساب تخزين في نفس المنطقة. استخدام VOD: يمكنك تخزين بيانات الإدخال والإخراج لمعالجة VOD وتدفقها. تعرف على المزيد حول Azure Storage. |
|
| Azure Storage Queue | الوصف تخزين Azure Queue هو خدمة لتخزين أعداد كبيرة من الرسائل التي يمكن الوصول إليها من أي مكان في العالم عبر المكالمات المصادق عليها باستخدام HTTP أو HTTPS. استخدام VOD: يمكن استخدام قوائم الانتظار لإرسال الرسائل وتلقيها لتنسيق الأنشطة بين الوحدات النمطية المختلفة. يستخدم النموذج قائمة انتظار تخزين Azure ولكن يوفر Azure أنواعا أخرى من قوائم الانتظار مثل ناقل خدمة Microsoft Azure وقوائم انتظار موثوقة ل Service Fabric والتي قد تناسب احتياجاتك بشكل أفضل. تعرف على المزيد حول Azure Queue. |
|
| 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 | الوصف يمكن استخدام azure Key Vault لتخزين الوصول إلى الرموز المميزة وكلمات المرور والشهادات ومفاتيح API والبيانات السرية الأخرى والتحكم فيها بإحكام. كما يمكن استخدامه كحل لإدارة المفاتيح. تجعل الأداة «Azure Key Vault» من السهل إنشاء مفاتيح التشفير المستخدمة لتشفير بياناتك والتحكم فيها. يمكنه بسهولة توفير وإدارة ونشر شهادات أمان طبقة النقل العامة والخاصة/طبقة مآخذ التوصيل الآمنة (TLS/SSL) للاستخدام مع Azure والموارد الداخلية المتصلة. يمكن حماية الأسرار والمفاتيح إما بواسطة البرامج أو وحدات HSM التي تم التحقق من صحتها من FIPS 140-2 من المستوى 2. استخدام VOD: يمكن استخدام Key Vault لإعداد نهج الوصول لمدير الخدمة لتطبيقك. يمكن استخدامه لتخزين سلسلة الاتصال إلى حسابات التخزين. نستخدم Key Vault لتخزين سلاسل الاتصال إلى حسابات التخزين و cosmos db. يمكنك أيضا استخدام Key Vault لتخزين تكوين المجموعة الكلي. لكل مثيل خدمة وسائط يمكنك تخزين معرف الاشتراك واسم مجموعة الموارد واسم الحساب. لمزيد من التفاصيل، راجع كيفية استخدامه في العينة. تعرف على المزيد حول Key Vault. |
|
| وظائف Azure | الوصف قم بتشغيل أجزاء صغيرة من التعليمات البرمجية (تسمى "الوظائف") دون القلق بشأن البنية الأساسية للتطبيق باستخدام Azure Functions. تعرف على المزيد حول Azure Functions. استخدام VOD: يمكن استخدام Azure Functions لتخزين الوحدات النمطية لتطبيق VOD الخاص بك. يمكن أن تتضمن الوحدات النمطية لتطبيق VOD ما يلي: الوحدة النمطية لجدولة الوظائف ستكون وحدة جدولة الوظائف لإرسال وظائف جديدة إلى مجموعة خدمات الوسائط (مثيلان أو أكثر في مناطق مختلفة). سيتعقب الحالة الصحية لكل مثيل خدمات الوسائط ويرسل وظيفة جديدة إلى المثيل الصحي التالي. وحدة حالة الوظيفة ستستمع وحدة حالة الوظيفة إلى أحداث حالة إخراج الوظيفة القادمة من خدمة Azure Event Grid. سيقوم بتخزين الأحداث إلى مخزن الأحداث لتقليل عدد الاستدعاءات إلى واجهات برمجة تطبيقات خدمات الوسائط بواسطة بقية الوحدات النمطية. وحدة صحة المثيل ستتعقب هذه الوحدة الوظائف المرسلة وتحدد الحالة الصحية لكل مثيل خدمات الوسائط. سيتعقب الوظائف النهائية والوظائف الفاشلة والوظائف التي لم تنته أبدا. وحدة التزويد ستوفر هذه الوحدة الأصول المعالجة. سيقوم بنسخ بيانات الأصول إلى جميع مثيلات خدمات الوسائط وإعداد خدمة Azure Front Door لضمان إمكانية دفق الأصول حتى إذا لم تكن بعض مثيلات خدمات الوسائط متوفرة. كما سيقوم بإعداد محددات مواقع البث. وحدة التحقق من الوظيفة ستقوم هذه الوحدة بتعقب كل مهمة تم إرسالها، وإعادة إرسال المهام الفاشلة، وإجراء تنظيف بيانات الوظيفة بمجرد الانتهاء من الوظيفة بنجاح. |
|
| 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 لتحديد التوجيه العالمي لنسبة استخدام الشبكة على الويب وإدارته ومراقبته من خلال تحسين أفضل أداء وتجاوز الفشل العالمي السريع لتحقيق قابلية وصول عالية. استخدام VOD: يمكن استخدام Azure Front Door لتوجيه نسبة استخدام الشبكة إلى نقاط النهاية المتدفقة. تعرف على المزيد حول Azure Front Door. |
|
| Azure Event Grid | الوصف تم إنشاؤها للبنى المستندة إلى الحدث، تحتوي Event Grid على دعم مضمن للأحداث القادمة من خدمات Azure، مثل الكائنات الثنائية كبيرة الحجم للتخزين ومجموعات الموارد. كما أنه يحتوي على دعم لأحداث الموضوع المخصص. يمكن استخدام عوامل التصفية لتوجيه أحداث معينة إلى نقاط نهاية مختلفة، ومتعددة الإرسال إلى نقاط نهاية متعددة، وللتأكد من تسليم الأحداث بشكل موثوق. فهو يزيد من التوفر من خلال الانتشار في الأصل عبر مجالات خطأ متعددة في كل منطقة، وعبر مناطق التوفر. استخدام VOD: يمكن استخدام Event Grid لتعقب جميع أحداث التطبيق وتخزينها لاستمرار حالة المهمة. تعرف على المزيد حول Azure Event Grid. |
|
| Application Insights | الوصف إن Application Insights، هي عبارة عن ميزة من Azure Monitor، تتضمن خدمة إدارة أداء التطبيق القابلة للتوسيع (APM) للمطورين ومحترفي DevOps. يتم استخدامه لمراقبة التطبيقات المباشرة. يكشف عن الحالات الشاذة في الأداء، ويتضمن أدوات تحليل لتشخيص المشكلات وفهم ما يفعله المستخدمون بتطبيق ما. إنها مصممة لمساعدتك على تحسين الأداء وسهولة الاستخدام باستمرار. استخدام VOD: يمكن إرسال جميع السجلات إلى Insights التطبيق. سيكون من الممكن معرفة المثيل الذي تمت معالجته لكل وظيفة عن طريق البحث عن رسائل الوظيفة التي تم إنشاؤها بنجاح. يمكن أن يحتوي على جميع بيانات تعريف الوظيفة المرسلة بما في ذلك المعرف الفريد ومعلومات اسم المثيل. تعرف على المزيد حول Insights التطبيق. |
التصميم
يوضح هذا الرسم التخطيطي عالي المستوى بنية العينة المقدمة لتبدأ في التوفر العالي وخدمات الوسائط.
أفضل الممارسات
المناطق
- إنشاء حسابين (أو أكثر) من حسابات Azure Media Services. يجب أن يكون الحسابان في مناطق مختلفة. لمزيد من المعلومات، راجع المناطق التي يتم فيها نشر خدمة Azure Media Services.
- Upload الوسائط الخاصة بك إلى نفس المنطقة التي تخطط لإرسال المهمة منها.
- إذا كنت بحاجة بعد ذلك إلى إعادة إرسال المهمة إلى منطقة أخرى، يمكنك استخدام
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.