CodeShot

مسیر یادگیری System Design

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

6 مرحله

  1. 1.

    System Design چیست؟

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

    ~10 ساعت
  2. 2.

    آشنایی با مبانی مقیاس‌پذیری

    تفاوت مقیاس‌پذیری عمودی و افقی و اینکه چرا سیستم‌های بزرگ باید از ابتدا برای رشد ترافیک طراحی شوند را توضیح می‌دهد.

    ~4 ساعت
  3. 3.

    توزیع ترافیک با Load Balancing

    روش توزیع ترافیک ورودی بین چند سرور با استفاده از الگوریتم‌هایی مثل round-robin و least-connections را شرح می‌دهد.

    ~4 ساعت
  4. 4.

    مقیاس‌پذیری پایگاه داده با Replication و Sharding

    تکنیک‌های replication و sharding برای توزیع بار خواندن و نوشتن پایگاه داده در حجم بالای ترافیک را معرفی می‌کند.

    ~6 ساعت
  5. 5.

    طراحی سیستم با معماری میکروسرویس

    سبک معماری‌ای که یک سیستم بزرگ را به سرویس‌های کوچک و مستقل تقسیم می‌کند که هرکدام دیتابیس و چرخهٔ استقرار خودشان را دارند.

    ~6 ساعت
  6. 6.

    درک مصالحه‌های CAP در سیستم‌های توزیع‌شده

    مصالحه بین Consistency، Availability و Partition Tolerance طبق قضیه CAP و تاثیر آن بر انتخاب معماری داده توزیع‌شده را توضیح می‌دهد.

    ~5 ساعت