اخبار منصات الأفلام

إمكانية إطلاق العنوان على نطاق Netflix | بواسطة Netflix Technology Blog | مارس ، 2025


Netflix Techblog

بواسطة: فارون خيتان

مع شكر خاص لزملائي المذهلون: Mallika Rao ، Esmir Mesic ، Hugo Marques

يعد منشور المدونة هذا استمرارًا للجزء 2 ، حيث قمنا بتطهير الغموض حول إمكانية إطلاق العنوان في Netflix. في هذه الدفعة ، سوف نستكشف الاستراتيجيات والأدوات والمنهجيات التي تم استخدامها لتحقيق قابلية شاملة على العنوان على نطاق واسع.

لإنشاء حل شامل ، قررنا تقديم نقاط نهاية الملاحظة أولاً. كل خدمة microservice المشاركة في كومة التخصيص كان ذلك المدمج مع حل الملاحظة لدينا يجب أن يقدم نقطة نهاية “صحة العنوان” الجديدة. كان هدفنا لكل نقطة نهاية جديدة للالتزام ببعض المبادئ:

  1. انعكاس دقيق لسلوك الإنتاج
  2. التقييس عبر جميع نقاط النهاية
  3. الرد على ثالوث البصيرة: “صحية” أم لا ، لماذا لا تكون وكيفية إصلاحها.

يعكس سلوك الإنتاج بدقة

جزء رئيسي من حلنا هو الرؤى في سلوك الإنتاج ، والذي يستلزم طلباتنا إلى نقطة النهاية يؤدي إلى حركة المرور إلى وظائف الخدمة الحقيقية التي تحاكي نفس المسارات التي ستتخذها حركة المرور إذا جاءت من المتصلين المعتاد.

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

خدمة مع منطق الأعمال المعياري تسهل إضافة سلسة لنقطة نهاية الملاحظة.

التقييس

لتوحيد التواصل بين خدمة قابلية الملاحظة ونقاط نهاية التخصيص الخاصة بمكدس التخصيص ، قمنا بتطوير تنسيق مستقر/استجابة لطلب Proto. يضمن هذا التنسيق المركزي ، المحدد والاحتفاظ به من قبل فريقنا ، أن تلتزم جميع نقاط النهاية ببروتوكول ثابت. نتيجة لذلك ، يتم التعامل مع الطلبات بشكل موحد ، ويتم معالجة الاستجابات بشكل متماسك. يعزز هذا التقييس التبني ضمن كومة التخصيص ، وتبسيط النظام ، ويحسن الفهم والتصحيح للمهندسين.

مخطط الطلب لنقطة نهاية الملاحظة.

API Insight Triad API

لفهم صحة مشكلات العنوان والفرز بكفاءة ، يجب أن تجيب جميع تطبيقات نقطة نهاية الملاحظة: هل العنوان مؤهل لهذه المرحلة من الترويج ، إن لم يكن – لماذا لا يكون مؤهلاً ، وما الذي يمكن القيام به لإصلاح أي مشاكل.

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

يتم التقاط هذه المتطلبات في كائن protobuf التالي الذي يحدد استجابة نقطة النهاية.

مخطط الاستجابة لنقطة نهاية الملاحظة.

لقد قمنا بتمارين حلنا الشامل في الخطوات الرئيسية التالية ، وتلتقط جوهر نهجنا:

  1. إنشاء نقاط نهاية الملاحظة في جميع الخدمات ضمن تخصيصنا ومكدس الاكتشاف.
  2. تنفيذ مراقبة استباقية لكل من نقاط النهاية هذه.
  3. تتبع انطباعات العنوان في الوقت الفعلي من واجهة المستخدم Netflix.
  4. قم بتخزين البيانات في مخزن بيانات محسّن موزع للغاية.
  5. قدم واجهات برمجة تطبيقات سهلة الاندماج للوحة القيادة لدينا ، مما يتيح لأصحاب المصلحة من تتبع ألقاب محددة بشكل فعال.
  6. “السفر الزمني” للتحقق من صحة في وقت مبكر.
رسم رصد الرصد الرسم التخطيطي للعمارة ذات المستوى العالي

في الأقسام التالية ، سنستكشف كل من هذه المفاهيم والمكونات كما هو موضح في الرسم البياني أعلاه.

المراقبة الاستباقية من خلال وظائف جامعي المجدولة

تدير خدمة Microservice Health الخاصة بنا وظيفة جامع مجدولة كل 30 دقيقة لمعظم مكدس التخصيص الخاص بنا.

لكل صف Netflix ندعمه (مثل Trending الآن ، قريبًا ، وما إلى ذلك) ، يوجد جامع مخصص. يسترجع هؤلاء هواة الجمع القائمة ذات الصلة من العناوين من كتالوجنا والتي تتأهل للحصول على صف محدد من خلال التواصل مع خدمات الكتالوج الخاصة بنا. يتم إبلاغ هذه الخدمات بالمجموعة الفرعية المتوقعة من العناوين لكل صف ، حيث نقوم بتقييم صحة اللقب.

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

انطباعات العنوان في الوقت الحقيقي وقائمة انتظار كافكا

بالإضافة إلى تقييم صحة العنوان عبر خدمات مكدس التخصيص الخاصة بنا ، فإننا نراقب أيضًا كيفية تعامل خوارزميات التوصية الخاصة بنا من خلال مراجعة بيانات الانطباعات. من الضروري أن تعامل خوارزمياتنا جميع العناوين بشكل متكافئ ، لكل واحد من إمكانات غير محدودة.

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

تخزين البيانات وتوزيعها من خلال الأعلاف المجوفة

Netflix Hollow عبارة عن مكتبة Java مفتوحة المصدر ومجموعة أدوات لنشر مجموعات البيانات في الذاكرة من منتج واحد إلى العديد من المستهلكين للوصول إلى القراءة العالية فقط. بالنظر إلى شكل بياناتنا ، تعد الخلاصات المجوفة استراتيجية ممتازة لتوزيع البيانات عبر صناديق الخدمة الخاصة بنا.

بمجرد أن يجمع جامعو البيانات الصحية من خدمات الشركاء في مكدس التخصيص أو من دفق انطباعاتنا ، يتم تخزين هذه البيانات في خلاصة مجوفة مخصصة لكل جامع. يقدم Hollow العديد من الميزات التي تساعدنا على مراقبة الصحة العامة لصف Netflix ، بما في ذلك التأكد من عدم وجود مشكلات واسعة النطاق عبر نشر الخلاصة. كما يتيح لنا تتبع تاريخ كل عنوان من خلال الحفاظ على سجل بيانات لكل العنوان ، وحساب الاختلافات بين إصدارات البيانات السابقة والحالية ، والتراجع إلى الإصدارات السابقة إذا تم اكتشاف تغيير البيانات.

لوحة معلومات الملاحظة باستخدام محرك الفحص الصحي

نحافظ على العديد من لوحات المعلومات التي تستخدم خدمة صحة اللقب لدينا لتقديم حالة العناوين لأصحاب المصلحة. واجهات المستخدم هذه تصل إلى نقطة نهاية في خدمتنا ، مما يتيح لهم طلب الحالة الحالية لعنوان عبر جميع الصفوف المدعومة. تقرأ نقطة النهاية هذه بكفاءة من جميع الخلاصات المجوفة المتاحة للحصول على الوضع الحالي ، وذلك بفضل إمكانيات Hollow في الذاكرة. يتم إرجاع النتائج بتنسيق موحد ، مما يضمن دعمًا سهلاً لواجهة المستخدم في المستقبل.

بالإضافة إلى ذلك ، لدينا نقاط نهاية أخرى يمكن أن تلخص صحة العنوان عبر مجموعات فرعية من الأقسام لتسليط الضوء على تجارب الأعضاء المحددة.

رسالة تصور طلب لوحة القيادة.

السفر الوقت: التقاط قبل الإطلاق

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

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

مثال على طلب مع طابع زمني مستقبلي.

خلال هذه السلسلة ، قمنا باستكشاف رحلة تعزيز إمكانية تشغيل إطلاق العنوان في Netflix. في الجزء 1 ، حددنا تحديات إدارة عمليات إطلاق المحتوى الواسع والحاجة إلى حلول قابلة للتطوير لضمان نجاح كل عنوان. سلط الجزء 2 الضوء على النهج الاستراتيجي للتنقل في الغموض ، وإدخال “صحة العنوان” كإطار لمحاذاة الفرق وتحديد أولويات القضايا الأساسية. في هذا الجزء الأخير ، قمنا بتفصيل استراتيجيات النظام المتطورة والهندسة المعمارية ، بما في ذلك نقاط نهاية الملاحظة ، والمراقبة الاستباقية ، وقدرات “السفر عبر الزمن” ؛ كل مصممة لضمان تجربة مشاهدة مثيرة.

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

شكرًا لك على انضمامك إلينا في هذا الاستكشاف ، وتابعنا لمزيد من الأفكار والابتكارات مع استمرارنا في الترفيه عن العالم.


اكتشاف المزيد من هيدب فيديو

اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى

اكتشاف المزيد من هيدب فيديو

اشترك الآن للاستمرار في القراءة والحصول على حق الوصول إلى الأرشيف الكامل.

متابعة القراءة