مسیر یادگیری System Design
فرآیند طراحی معماری کلی یک سیستم نرمافزاری در مقیاس بزرگ — چگونگی توزیع بار، ذخیره داده و ارتباط بین سرویسها — پیش از پیادهسازی جزئیات.
6 مرحله
- 1.
System Design چیست؟
فرآیند طراحی معماری کلی یک سیستم نرمافزاری در مقیاس بزرگ — چگونگی توزیع بار، ذخیره داده و ارتباط بین سرویسها — پیش از پیادهسازی جزئیات.
~10 ساعت - 2.
آشنایی با مبانی مقیاسپذیری
تفاوت مقیاسپذیری عمودی و افقی و اینکه چرا سیستمهای بزرگ باید از ابتدا برای رشد ترافیک طراحی شوند را توضیح میدهد.
~4 ساعت - 3.
توزیع ترافیک با Load Balancing
روش توزیع ترافیک ورودی بین چند سرور با استفاده از الگوریتمهایی مثل round-robin و least-connections را شرح میدهد.
~4 ساعت - 4.
مقیاسپذیری پایگاه داده با Replication و Sharding
تکنیکهای replication و sharding برای توزیع بار خواندن و نوشتن پایگاه داده در حجم بالای ترافیک را معرفی میکند.
~6 ساعت - 5.
طراحی سیستم با معماری میکروسرویس
سبک معماریای که یک سیستم بزرگ را به سرویسهای کوچک و مستقل تقسیم میکند که هرکدام دیتابیس و چرخهٔ استقرار خودشان را دارند.
~6 ساعت - 6.
درک مصالحههای CAP در سیستمهای توزیعشده
مصالحه بین Consistency، Availability و Partition Tolerance طبق قضیه CAP و تاثیر آن بر انتخاب معماری داده توزیعشده را توضیح میدهد.
~5 ساعت
