كيف توسع Docker Business لخدمة ملايين المطورين ، الجزء 2: البيانات الصادرة

كيف توسع Docker Business لخدمة ملايين المطورين ، الجزء 2: البيانات الصادرة

هذه هي المقالة الثانية في سلسلة المقالات التي ستغطي القيود عند تنزيل صور الحاوية.

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

تم الإعلان عن حدود تردد التنزيل مسبقًا في موقعنا شروط الخدمة. نلقي نظرة فاحصة على حدود الترددات التي ستدخل حيز التنفيذ في 1 نوفمبر 2020:

خطة مجانية ، مستخدمون مجهولون: 100 تنزيل في 6 ساعات
خطة مجانية ، المستخدمون المعتمدون: 200 تنزيل في 6 ساعات
الخطة الاحترافية: غير محدودة
خطة الفريق: غير محدودة

يتم تعريف تكرار تنزيل Docker على أنه عدد طلبات البيان إلى Docker Hub. تعتمد حدود تكرار تنزيل الصور على نوع الحساب الذي يطلب الصورة ، وليس نوع حساب مالك الصورة. بالنسبة للمستخدمين المجهولين (غير المصرح لهم) ، فإن تكرار التنزيل مرتبط بعنوان IP.

ملحوظة: سوف تتلقى المزيد من التفاصيل الدقيقة وأفضل الممارسات في دورة Docker من الممارسين. علاوة على ذلك ، يمكنك القيام بذلك عندما يكون ذلك مناسبًا لك - سواء في الوقت المناسب أو في الحالة المزاجية.

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

تحليل مفصل لترددات تنزيل الصور Docker Hub

لقد أمضينا الكثير من الوقت في تحليل تنزيل الصور من Docker Hub لتحديد سبب حد السرعة ، بالإضافة إلى كيفية تحديده بالضبط. أكد ما رأيناه أن جميع المستخدمين تقريبًا يقومون بتنزيل الصور بمعدل يمكن التنبؤ به لسير العمل المعتاد. ومع ذلك ، هناك تأثير ملحوظ لعدد صغير من المستخدمين المجهولين ، على سبيل المثال ، يأتي حوالي 30٪ من جميع التنزيلات من 1٪ فقط من المستخدمين المجهولين.

كيف توسع Docker Business لخدمة ملايين المطورين ، الجزء 2: البيانات الصادرة

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

مساعدة المطورين على فهم حدود تردد التنزيل بشكل أفضل

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

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

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

اتضح أن تنزيل صورة ما هو في الواقع طلب بيان واحد أو طلبان ، وكذلك من الصفر إلى اللانهاية - طلبات الطبقات (blob). من الناحية التاريخية ، قام Docker بتتبع تردد التنزيل على أساس طبقة تلو الأخرى ، حيث أن هذا أكثر ارتباطًا باستخدام النطاق الترددي. ولكن مع ذلك ، فقد استمعنا إلى المجتمع ، وهو الأمر الأكثر صعوبة ، لأنك تحتاج إلى تتبع العدد المطلوب من الطبقات ، مما سيؤدي إلى تجاهل أفضل الممارسات فيما يتعلق بالعمل مع Dockerfile ، وأيضًا أكثر سهولة للمستخدمين الذين يريدون فقط العمل مع السجل دون فهم التفاصيل.

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

اتطلع لملاحظاتك في المستقبل

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

ترقبوا في الأسابيع المقبلة مقالًا آخر حول تعديل CI وأنظمة القتال في ضوء هذه التغييرات.

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

لمزيد من المعلومات حول أحدث التغييرات على شروط الخدمة ، يرجى زيارة الأسئلة الشائعة.

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

المصدر: www.habr.com

إضافة تعليق