طراحی سیستم
سرویسهای مقیاسپذیر طراحی کنید: کش، صف و پایگاه داده.
طراحی سیستم یعنی انتخابِ جعبهها و پیکانهای پشتِ یک اپلیکیشن و دانستنِ اینکه وقتی میلیونها نفر سر میرسند، چطور رفتار میکنند. این مسیر با نیازمندیها و حسابهای سرانگشتیِ صادقانه شروع میشود، یک سرور را پشتِ یک متعادلکنندهی بار به چند سرور تبدیل میکند و کش و CDN اضافه میکند. بعد سراغِ بخشهای سخت میرود: مقیاسدهیِ پایگاه داده، صفها و پیامهای تکراری، محدودسازیِ نرخ، سازگاری و دیدنِ درونِ سیستمی که در حالِ اجراست.
بیشترِ درسها مفهوم، عددهای کوچک و نمودارند و کد فقط جایی میآید که ایدهای را ملموس کند. مسیر با طراحیِ یک فیدِ خانگی و یک جدول ردهبندیِ زنده، قدمبهقدم و به دستِ خودتان، تمام میشود.
- درس
- ۱۴
- زمان
- ۲ ساعت
- سطح
- متوسط
- برنز باز
- نقره باز
- طلا قفل
آمادهای ثابتش کنی؟
سه آزمون منتظرند: برنز، نقره و طلا.
در پایان این مسیر میتوانی
- نیازمندیها را با حسابِ سرانگشتی به برآوردِ بار تبدیل کنید
- سرورهای بیحالت را پشتِ یک متعادلکنندهی بار و با بررسیِ سلامت مقیاس بدهید
- از کش، زمانِ انقضا و CDN استفاده کنید، بیآنکه محتوای کهنه یا دستنیافتنی تحویل دهید
- پایگاه داده را با استخرِ اتصال، رپلیکا و در آخرین قدم شاردینگ مقیاس بدهید
- کارهای کُند را به صف بسپارید و مصرفکنندهها را در برابرِ پیامِ تکراری ایمن کنید
- سازگاری را برای هر قابلیت جدا انتخاب کنید و فقط برای چیزی هشدار بدهید که کاربران حسش میکنند
نقشهٔ مسیر
۱ فصل ۱از یک سرور تا چند سرور
نیازمندیها و برآوردها، سرورهای بیحالت پشتِ متعادلکنندهی بار، کش و CDN.
۰ / ۴۲ فصل ۲داده و رویداد در مقیاسِ بزرگ
پایگاه داده را مقیاس بدهید، با خیالِ راحت از صف استفاده کنید، ترافیک را محدود کنید، سازگاری را انتخاب کنید و همه را زیرِ نظر بگیرید.
۰ / ۶۳ فصل ۳قدمهای بعدی
قابلیتهای بیدرنگ، جستوجو، چند منطقهی جغرافیایی و هزینه.
۰ / ۴