0Pricing
System Design Basics for Backend Developers · درس

قابلية التوسع والتوافر والموثوقية

افهم الصفات الأساسية غير الوظيفية التي تقود قرارات تصميم الأنظمة: قابلية التوسع والتوافر والموثوقية.

قابلية التوسع والتوافر والموثوقية درس مجاني في System Design Basics for Backend Developers على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في System Design Basics for Backend Developers، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة System Design Basics for Backend Developers 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Non-Functional Requirements

Beyond what a system does, design cares about how well it does it. Scalability, availability, and reliability are the key non-functional requirements.

What is Scalability?

Scalability is a system’s ability to handle growing load by adding resources — without falling over as demand climbs.

Vertical Scaling

Vertical scaling (scaling up) means giving one machine more CPU, RAM, or disk. It is simple, but you eventually hit a hardware ceiling.

Horizontal Scaling

Horizontal scaling (scaling out) means adding more machines and spreading load across them. It scales much further, but demands stateless design.

What is Availability?

Availability is the percentage of time your system is up and serving. It is usually quoted in "nines" — see how fast the allowed downtime shrinks.

99.9%  -> ~8.7 hours downtime per year
99.99% -> ~52 minutes per year

Redundancy for Availability

Availability comes from redundancy: duplicate servers, multiple data centers, and automatic failover so a single failure never takes everything down.

What is Reliability?

Reliability is the probability a system runs correctly over time. An available system can still be unreliable if it responds but returns wrong results.

Availability vs. Reliability

The distinction: available means it responds; reliable means it responds correctly, every time. Reliable usually implies available, but not the reverse.

Single Point of Failure

A single point of failure is any component whose failure stops the whole system. Good design hunts these down and removes them with redundancy.

Trade-offs

More availability and scalability mean more cost and complexity. Teams trade off these qualities against budget and what the system actually needs.

Measuring with SLAs

You turn these goals into numbers with SLAs (Service Level Agreements), tracked via SLOs and SLIs — making "reliable" a concrete, measurable target.

Quick Check

Test your understanding of these qualities.

Recap

You learned the core qualities: scalability (vertical vs horizontal), availability via redundancy, and reliability — kill single points of failure, measure with SLAs.

الأسئلة الشائعة

هل درس «قابلية التوسع والتوافر والموثوقية» مجاني؟

نعم — نص درس «قابلية التوسع والتوافر والموثوقية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة System Design Basics for Backend Developers، انتقل إلى CoddyKit PRO. تتضمن دورة System Design Basics for Backend Developers 4 دروس في المجموع.

ماذا ستتعلم في «قابلية التوسع والتوافر والموثوقية»؟

افهم الصفات الأساسية غير الوظيفية التي تقود قرارات تصميم الأنظمة: قابلية التوسع والتوافر والموثوقية. تتمرن على System Design Basics for Backend Developers مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ System Design Basics for Backend Developers؟

لا تُشترط خبرة سابقة. System Design Basics for Backend Developers على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «قابلية التوسع والتوافر والموثوقية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس System Design Basics for Backend Developers هذا؟

نعم. كل درس في System Design Basics for Backend Developers يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما هو تصميم الأنظمة؟
  2. المبادئ والأهداف الأساسية
  3. عملية التصميم وخطواتها
  4. قابلية التوسع والتوافر والموثوقية
← العودة إلى System Design Basics for Backend Developers