✔️ نتفلیکس چطور همزمان به بیش از ۲۶۰ میلیون کاربر و دهها میلیون استریم را بدون بافر مدیریت میکند؟راز ماجرا فقط قدرت سرورها نیست؛ بیشتر کار قبل از اینکه شما روی دکمه Play بزنید انجام شده است.چند نکته جالب از معماری Netflix:🔹 ویدیو از Cloud پخش نمیشود.احراز هویت، پیشنهاد فیلم، DRM و APIها روی AWS اجرا میشوند، اما خود فایل ویدیو از سرورهای اختصاصی Open Connect که داخل شبکه ISPها قرار دارند ارسال میشود؛ یعنی فیلم از نزدیکترین نقطه ممکن به کاربر تحویل داده میشود.🔹 محتوا از قبل روی سرورهای نزدیک کاربران قرار میگیرد.نتفلیکس با پیشبینی رفتار کاربران، شب قبل فیلمها و سریالهای پربازدید را روی سرورهای هر منطقه کپی میکند. به همین دلیل هنگام انتشار یک فصل جدید، میلیونها درخواست به سرور مرکزی هجوم نمیآورند.🔹 کیفیت ویدیو دائماً با سرعت اینترنت شما تنظیم میشود.ویدیو به قطعات چندثانیهای تقسیم شده است. پلیر بعد از هر قطعه سرعت اینترنت و میزان بافر را بررسی میکند و کیفیت قطعه بعدی را انتخاب میکند. اگر سرعت اینترنت افت کند، کیفیت تصویر موقتاً کاهش پیدا میکند تا پخش متوقف نشود.🔹 هر فیلم تنظیمات فشردهسازی مخصوص خودش را دارد.یک انیمیشن ساده و یک فیلم اکشن پرجزئیات به بیتریت یکسان نیاز ندارند؛ به همین دلیل نتفلیکس برای هر محتوا نسخههای مختلفی با کیفیتها و حجمهای متفاوت آماده میکند.▪️ درس مهم برای برنامهنویسها:اگر سیستم شما تازه بعد از رسیدن درخواست کارهای سنگین را شروع میکند، احتمالاً دیر اقدام کردهاید.بهجای واکنش لحظهای:□ دادههای پرمصرف را از قبل داخل Cache قرار دهید.□ پردازشهای سنگین را قبل از نیاز کاربران انجام دهید.□ محتوا را تا جای ممکن به کاربران نزدیک کنید (Edge/CDN).□ اجازه دهید Client خودش با شرایط شبکه سازگار شود.💡 اصل طلایی معماری در مقیاس بزرگ:Predict → Pre-position → Adaptیعنی پیشبینی کن، از قبل آماده کن و در نهایت با شرایط لحظهای سازگار شو.@Teachify | برنامهنویسی