System Design & Distributed Systems
بناء الأنظمة الحديثة مش بس بيحتاج كود كويس، لكن كمان تصميم معماري ذكي يتحمّل النمو والتعقيد. في القسم ده، هنتعرف على إزاي تصمّم نظام يقدر يخدم آلاف أو ملايين المستخدمين بكفاءة واستقرار. وبنغوص في تصميم الأنظمة والأنظمة الموزعة.
SLOs Explained
في أي نظام حقيقي، السؤال مش بيكون: “هل السيستم شغال؟” لأن غالبًا الإجابة آه… بس السؤال الأهم هو: شغال قد إيه بشكل يعتمد عليه؟ هنا بتيجي فكرة الـ SLO — Service Level Objective.
Serverless Architecture
ظهر الـ Serverless Architecture كطريقة أو نمط للتصميم يسمح للـ Developers بتحقيق الأمنية دي , وإن هم يبقوا قادرين على بناء الـ Software بدون الاهتمام بالبنية التحتية واداراتها
Database Connection Pool
تخيل تروح فرع لبنك او أي فرع لشركة تليفون عشان تستفسر عن حاجة معينة وتلاقي مفيش غير شباك واحد , هيكون ايه رد فعلك لو مع كل حد هيجي يسال عن حاجة معينة, الفرع هيروح يدور على حد يوظفه يقعد في الشباك يساعدك وبعدين يمشي الموظف ده ؟
Message Queues
الـ Message Queue هو عبارة عن وسيلة تواصل بين الـ Services وبعضها البعض فيقدروا يتبادلوا المعلومات بشكل Asynchronous وعشان كده النوع ده من التواصل بنسميه Asynchronous Communication.
Database Cheatsheet for System Design
لازم نكون عارفين ان اختيارنا للـ Database في الـ System اللي بنبنيه، هو قرار مش سهل وقرار هنبقى ملزمين بيه لفترة طويلة فلازم نختارها بعناية خصوصًا لو كمان الموضوع هيتضمن Budget وفلوس هتندفع.
Rate Limiting In a Nutshell
ال Rate Limiting هي واحدة من أهم الطرق الأساسية عشان نحقق الـ Robustness في الـ Service اللي بنبنيها وده من خلال تحديد عدد Requests معينة مسموح للمستخدم يطلبها في فترة زمنية محددة.
REST Vs. GraphQL
غالبًا لو عملت APIs قبل كده هتكون استعملت REST وهيبقي عندك زميلك اللي عمال يقولك ما تيجي نشتغل بـ GraphQL زي الناس اللي هناك دي..فتعالى نعرف الفرق بين اثنين من أشهر أنواع الـ API Architectures
Cloud Computing Models In a Nutshell
فيه بعض الـ Cloud Computing Models الشهيرة اللي بقينا بنشوفها كتير بعد توجه كتير من الشركات والناس لاستعمال الـ Cloud وهي الـ IaaS والـ PaaS والـ SaaS .. طب ايه هي المصطلحات دي ؟
Database Replication
الـ Replication اني اعمل نسخة متماثلة واكررها فيكون عندي اكتر من نسخة بدل نسخة واحدة .. وده طبعا فادنا كتير في الـ Distributed Systems من حيث الـ Availability وكمان الـ Scalability