أطلقت Cloudflare ميزة جديدة تحمل اسم «Origin Range Requests» التي تعيد تعريف كيفية تعامل شبكة تسليم المحتوى (CDN) الخاصة بها مع طلبات نطاقات HTTP، مما يعد بتحسينات كبيرة في أداء تسليم الملفات الكبيرة مثل مقاطع الفيديو والتنزيلات.
تحديات نظام التخزين المؤقت السابق
في السابق، كان التعامل مع طلبات النطاق (Range Requests) – التي تطلب جزءًا معينًا من ملف بدلاً من الملف بأكمله – يمثل تحديًا. إذا طلب مشغل فيديو بضعة ميغابايت فقط للبحث في منتصف فيلم، كان النظام القديم لسحابة Cloudflare يسحب 128 ميغابايت من المصدر وينقلها عبر مراكز البيانات، حتى لو غادر المشاهد الصفحة. هذا النهج أدى إلى إهدار كبير لعرض النطاق الترددي للشبكة وعمليات القرص.
كانت المشكلة تكمن في «حجم النطاق» الذي كان على العملاء ضبطه يدويًا لكل منطقة. الأحجام الصغيرة كانت تؤدي إلى العديد من الطلبات الصغيرة وضغط على الذاكرة، بينما الأحجام الكبيرة كانت تجعل Cloudflare تحمل بيانات أكثر بكثير مما يطلبه العميل. كما أن تحديث حجم النطاق كان يبطل إدخالات ذاكرة التخزين المؤقت.
حل Cloudflare الجديد: الكتل ذات الحجم الثابت
مع انتقال Cloudflare إلى خادم التخزين المؤقت القائم على Pingora بدلاً من nginx، سنحت الفرصة لمعالجة هذه المشاكل. الحل الجديد يعتمد على «الكتل ذات الحجم الثابت» (fixed-size cache chunks). عندما يطلب العميل نطاقًا معينًا، تتحقق Cloudflare مما هو مخزن مؤقتًا بالفعل، وتخدمه مباشرة. أما الأجزاء المفقودة، فيتم جلبها من المصدر ككتل محاذاة لحجم الكتل الثابتة، وتخزينها، ثم يتم إرجاع البايتات المطلوبة فقط للعميل.
هذا يعني أن Cloudflare لم تعد تحتاج إلى تحديد حجم النطاق يدويًا، حيث أصبح حجم الكتل هو المقياس. على الرغم من أن هذا قد يتضمن بعض العمل الإضافي لطلبات أصغر من حجم الكتلة أو غير المحاذية، إلا أن هذا العمل أصبح محدودًا ويمكن التنبؤ به، ولم يعد يحدده إعداد يختاره العميل والذي كان يسبب تأثيرات غير متوقعة.
تأثيرات ملموسة على الأداء والمطورين
قبل إتاحة هذه الميزة للجميع، قامت Cloudflare بتطبيقها داخليًا على أكبر مستخدميها، R2 (خدمة تخزين الكائنات الخاصة بها). والنتائج كانت واضحة: انخفض وقت الاستجابة (p99 time to first byte) بنحو النصف لكل من طلبات ذاكرة التخزين المؤقت الناجحة والفاشلة. كما انخفضت حركة المرور متعددة المستويات لذاكرة التخزين المؤقت لـ R2 والأعباء المشابهة بنسبة 6% تقريبًا.
ماذا يعني هذا للمطورين والمصممين؟ هذه الميزة، المتاحة الآن كخدمة ذاتية على جميع خطط Cloudflare، تزيل التعقيدات المرتبطة بضبط طلبات النطاق. نرى أن هذا سيوفر أداءً أفضل لتطبيقات الويب التي تعتمد على تسليم الملفات الكبيرة بكفاءة، مثل منصات الفيديو، ومديري التنزيلات، وحتى مديري الحزم. سيتمكن المستخدمون من الوصول إلى المحتوى بشكل أسرع وأكثر سلاسة، مما يحسن تجربة المستخدم النهائية دون الحاجة إلى تدخل يدوي في ضبط ذاكرة التخزين المؤقت.
المصدر: blog.cloudflare.com