System Design 1: إزاي تكبّر سيستم حقيقي
هتاخد shop صغير شغّال على سيرفر واحد، وتوصّله لتصميم يستحمل الضغط والأعطال. في كل درس هتقيس مشكلة حقيقية، وتغيّر التصميم، وتقيس تاني: تفصل الـ database، وتحط السيرفرات ورا load balancer، وتضيف cache، وتعمل replication للـ database، وتحط الشغل البطيء في queue، وتعمل rate limit، وsharding بالـ consistent hashing، وquorum، وIDs مش بتتكرر. وفي الآخر تصمم URL shortener من الأول للآخر. وكل lab بيمشّيك خطوة خطوة، بالأوامر وكل أمر بيعمل إيه.
15 درس14 lab عملي
ابدأ الكورس
بتتعلم إزاي
درس قصير
الفكرة والأوامر الحقيقية وoutput حقيقي، من غير حشو.
lab على جهاز حقيقي
terminal على machine أو cluster حقيقي، مش محاكاة.
تصحيح أوتوماتيك
زرار Check بيتأكد إنك عملت المطلوب فعلًا، ويقولك فين الغلط.
محتوى الكورس
- 01نظرة عامة على الكورسدرس
- 02سيرفر واحد شايل كل حاجةدرس
- ⚑سيرفر واحد شايل كل حاجةlab
- 03افصل الـ database على ماشين لوحدهادرس
- ⚑افصل الـ database على ماشين لوحدهاlab
- 04تكبّر الماشين ولا تزوّد ماشينات؟ (ومحتاج كام سيرفر)درس
- ⚑تكبّر الماشين ولا تزوّد ماشينات؟ (ومحتاج كام سيرفر)lab
- 05زوّد السيرفرات ورا load balancerدرس
- ⚑زوّد السيرفرات ورا load balancerlab
- 06خلّي الـ web tier يبقى statelessدرس
- ⚑خلّي الـ web tier يبقى statelesslab
- 07اعمل cache للقراية البطيئةدرس
- ⚑اعمل cache للقراية البطيئةlab
- 08اعمل replication للـ database واعمل failoverدرس
- ⚑اعمل replication للـ database واعمل failoverlab
- 09اخدم الملفات الثابتة من الـ edgeدرس
- ⚑اخدم الملفات الثابتة من الـ edgelab
- 10انقل الشغل البطيء لـ queueدرس
- ⚑انقل الشغل البطيء لـ queuelab
- 11اعمل rate limit للـ clients المزعجيندرس
- ⚑اعمل rate limit للـ clients المزعجينlab
- 12اعمل sharding للداتا بالـ consistent hashingدرس
- ⚑اعمل sharding للداتا بالـ consistent hashinglab
- 13القراية والكتابة بالـ quorum في key-value storeدرس
- ⚑القراية والكتابة بالـ quorum في key-value storelab
- 14اعمل IDs مش بتتكرر على كذا سيرفردرس
- ⚑اعمل IDs مش بتتكرر على كذا سيرفرlab
- 15المشروع النهائي: صمّم URL shortenerدرس
- ⚑المشروع النهائي: صمّم URL shortenerlab
جاهز تبدأ؟
15 درس و14 lab مستنيينك.
ابدأ الكورس