چگونه کسب و کار Docker مقیاس می‌گیرد تا به میلیون‌ها توسعه‌دهنده خدمت کند، بخش 2: داده‌های خروجی

چگونه کسب و کار Docker مقیاس می‌گیرد تا به میلیون‌ها توسعه‌دهنده خدمت کند، بخش 2: داده‌های خروجی

این دومین مقاله از مجموعه مقالاتی است که محدودیت‌های دانلود تصاویر ظرف را پوشش می‌دهد.

В بخش اول ما نگاهی دقیق‌تر به تصاویر ذخیره‌شده در Docker Hub، بزرگترین رجیستری تصویر کانتینر انداختیم. ما این را می نویسیم تا به شما کمک کنیم بهتر بفهمید شرایط خدمات به روز شده ما چگونه بر تیم های توسعه که از Docker Hub برای مدیریت تصاویر کانتینر و خطوط لوله CICD استفاده می کنند تأثیر می گذارد.

محدودیت در فرکانس دانلود قبلا در ما اعلام شده بود شرایط استفاده از خدمات. ما نگاهی دقیق‌تر به محدودیت‌های فرکانس می‌اندازیم که از 1 نوامبر 2020 اجرایی می‌شوند:

طرح رایگان، کاربران ناشناس: 100 بارگیری در 6 ساعت
طرح رایگان، کاربران مجاز: 200 دانلود در 6 ساعت
طرح حرفه ای: نامحدود
طرح تعرفه تیم: نامحدود

فرکانس دانلود داکر به عنوان تعداد درخواست های مانیفست به داکر هاب تعریف می شود. محدودیت‌های تعداد دفعات بارگیری تصاویر بر اساس نوع حساب درخواست کننده تصویر است، نه نوع حساب مالک تصویر. برای کاربران ناشناس (غیر مجاز)، فرکانس دانلود به آدرس IP وابسته است.

NB ظرافت های بیشتر و بهترین موارد عملی را دریافت خواهید کرد در دوره Docker از سوی تمرین‌کنندگان. علاوه بر این، می توانید هر زمان که برای شما مناسب است - هم از نظر زمان و هم از نظر خلق و خوی آن را مصرف کنید.

ما سوالاتی از مشتریان و جامعه در مورد لایه های تصویر کانتینر دریافت می کنیم. وقتی تعداد دفعات دانلود را محدود می‌کنیم، لایه‌های تصویر را محاسبه نمی‌کنیم، زیرا بارگیری‌های مانیفست را محدود می‌کنیم و تعداد لایه‌ها (درخواست‌های حباب) در حال حاضر نامحدود است. این تغییر بر اساس بازخورد جامعه است تا کاربرپسندتر شود تا کاربران مجبور نباشند لایه‌ها را روی هر تصویری که استفاده می‌کنند بشمارند.

تجزیه و تحلیل دقیق نرخ دانلود تصویر Docker Hub

ما زمان زیادی را صرف تجزیه و تحلیل دانلودهای تصویر از Docker Hub کردیم تا مشخص کنیم چه چیزی باعث محدودیت نرخ شده است و دقیقاً چگونه باید محدود شود. آنچه دیدیم تأیید کرد که تقریباً همه کاربران تصاویر را با سرعت قابل پیش بینی برای گردش کار معمولی دانلود می کردند. با این حال، تأثیر قابل توجهی از تعداد کمی از کاربران ناشناس وجود دارد، برای مثال حدود 30٪ از کل دانلودها تنها از 1٪ از کاربران ناشناس انجام می شود.

چگونه کسب و کار Docker مقیاس می‌گیرد تا به میلیون‌ها توسعه‌دهنده خدمت کند، بخش 2: داده‌های خروجی

محدودیت‌های جدید بر اساس این تحلیل است، بنابراین بیشتر کاربران ما تحت تأثیر قرار نخواهند گرفت. این محدودیت ها برای منعکس کردن استفاده رایج توسعه دهندگان - یادگیری Docker، توسعه کد، ایجاد تصاویر و غیره ایجاد شده است.

به توسعه دهندگان کمک کنید تا محدودیت سرعت دانلود را بهتر درک کنند

اکنون که تأثیر آن و همچنین اینکه مرزها باید کجا باشد را فهمیدیم، باید شرایط فنی برای اجرای این محدودیت‌ها را مشخص می‌کردیم. محدود کردن بارگیری تصاویر از رجیستری Docker بسیار دشوار است. شما یک API آپلود را در توضیحات رجیستری پیدا نخواهید کرد - به سادگی وجود ندارد. در واقع، دانلود یک تصویر ترکیبی از درخواست‌های مانیفست و حباب‌ها در API است و بسته به وضعیت آن، به‌طور متفاوتی اجرا می‌شوند. مشتری و تصویر درخواستی

به عنوان مثال، اگر قبلاً یک تصویر دارید، Docker Engine یک درخواست مانیفست صادر می کند، متوجه می شود که از قبل تمام لایه های مورد نیاز را بر اساس مانیفست پذیرفته شده دارد و سپس متوقف می شود. از سوی دیگر، اگر تصویری را دانلود کنید که از چندین معماری پشتیبانی می‌کند، کوئری مانیفست فهرستی از مانیفست‌های تصویر را برای هر معماری پشتیبانی‌شده برمی‌گرداند. سپس Docker Engine درخواست مانیفست دیگری را برای معماری خاصی که روی آن اجرا می شود، صادر می کند و در عوض لیستی از تمام لایه های تصویر را دریافت می کند. سپس برای هر لایه گمشده (blob) پرس و جو می کند.

NB این موضوع به طور گسترده تری در دوره داکر، که در آن همه ابزارهای آن را تجزیه و تحلیل خواهیم کرد: از انتزاعات اولیه گرفته تا پارامترهای شبکه، تفاوت های ظریف کار با سیستم عامل های مختلف و زبان های برنامه نویسی. شما با این فناوری آشنا خواهید شد و درک خواهید کرد که کجا و چگونه بهتر از Docker استفاده کنید.

به نظر می رسد که بارگیری یک تصویر در واقع یک یا دو درخواست آشکار است و همچنین از صفر تا بی نهایت - درخواست های لایه (blob). از لحاظ تاریخی، Docker فرکانس دانلود را بر اساس لایه به لایه ردیابی کرده است، زیرا این بیشتر با استفاده از پهنای باند مرتبط است. اما با این وجود، ما به جامعه گوش دادیم که این کار دشوارتر است، زیرا شما باید تعداد لایه‌های درخواستی را ردیابی کنید، که منجر به نادیده گرفتن بهترین روش‌ها در مورد کار با Dockerfile می‌شود، و همچنین برای کاربرانی که فقط می‌خواهند با آن کار کنند، شهودی‌تر است. رجیستری بدون درک زیادی از جزئیات.

بنابراین تعداد درخواست‌ها را بر اساس درخواست‌های مانیفست محدود می‌کنیم. این به طور مستقیم با دانلود تصاویر مرتبط است که درک آن برای کاربران آسان است. با این حال، یک تفاوت کوچک وجود دارد - اگر سعی کنید تصویری را که از قبل وجود دارد دانلود کنید، حتی اگر لایه ها را دانلود نکنید، درخواست همچنان در نظر گرفته می شود. در هر صورت امیدواریم این روش محدود کردن فرکانس دانلود برای کاربران هم منصفانه و هم راحت باشد.

منتظر نظرات شما هستیم

ما بر محدودیت‌ها نظارت می‌کنیم و تنظیمات مناسب را بر اساس موارد استفاده معمول انجام می‌دهیم تا اطمینان حاصل کنیم که محدودیت‌ها برای هر نوع کاربر مناسب است، و به‌ویژه سعی خواهیم کرد هرگز از انجام کار توسعه‌دهندگان جلوگیری نکنیم.

در هفته های آینده منتظر مقاله دیگری در مورد راه اندازی سیستم های CI و رزمی با توجه به این تغییرات باشید.

در نهایت، به عنوان بخشی از حمایت ما از جامعه منبع باز، برنامه های قیمت گذاری منبع باز جدید را تا اول نوامبر منتشر خواهیم کرد. برای درخواست، باید فرم را پر کنید اینجا.

برای کسب اطلاعات بیشتر در مورد آخرین تغییرات در شرایط خدمات، لطفا تماس بگیرید پاسخ به برخی سوالات مهم.

برای کسانی که نیاز به افزایش محدودیت تعداد دفعات بارگیری تصاویر دارند، Docker دانلود نامحدود تصویر را به عنوان یک ویژگی ارائه می دهد. برنامه های حرفه ای یا تیم. مثل همیشه، ما از بازخورد و سوالات استقبال می کنیم. اینجا.

منبع: www.habr.com

اضافه کردن نظر