
تعالوا نشوف مع بعض شوية من أهم المصطلحات المستخدمة في تصميم الأنظمة والـ (System Design) في مجال هندسة البرمجيات باللغة العربية ، مع شرح مبسط لكل مصطلح 🎉
Top 24 System Design Terminologies
- الـ Scalability: هي قدرة النظام إنه يكبر ويستوعب عدد أكبر من المستخدمين أو البيانات من غير ما يتأثر الأداء.
- الـ Load Balancer: جهاز أو برنامج بيقوم بتوزيع الأحمال على عدة سيرفرات بحيث ميكنش في ضغط على سيرفر معين.
- الـ Sharding: تقسيم قاعدة البيانات الكبيرة لعدة أجزاء أصغر على عدة سيرفرات عشان نحسن الأداء.
- الـ Cache: تخزين بيانات مؤقتًا في مكان قريب من المستخدم عشان الوصول ليها يكون أسرع.
- الـ Latency: الوقت اللي بياخده النظام عشان يستجيب لطلب معين من المستخدم.
- الـ Throughput: كمية البيانات اللي يقدر النظام يعالجها أو ينقلها في فترة زمنية معينة.
- الـ Redundancy: وجود نسخ احتياطية من البيانات أو الأنظمة لتجنب الفشل في حالة حدوث مشكلة.
- الـ Replication: نسخ البيانات عبر عدة مواقع أو سيرفرات عشان نحافظ عليها في حالة فشل أحدهم.
- الـ Load Shedding: طريقة لتخفيف الحمل عن النظام في أوقات الضغط العالي بتجاهل طلبات أقل أهمية.
- الـ Fault Tolerance: قدرة النظام على الاستمرار في العمل حتى لو حصلت مشكلة في جزء معين.
- الـ Consistency: التأكد إن البيانات في النظام متطابقة في كل الأجزاء.
- الـ Partitioning: تقسيم البيانات في قاعدة البيانات لأجزاء أصغر للتعامل مع كل جزء بشكل مستقل.
- الـ الـ CDN: شبكة سيرفرات موزعة جغرافيًا لتسريع تسليم المحتوى للمستخدمين بناءً لموقعهم.
- الـ Service Discovery: عملية بتسمح للنظام يحدد مكان وجود الخدمات المتاحة عشان يستخدمها ويتواصل معاها.
- الـ Proxy: عملية بتسمح للنظام يحدد مكان وجود الخدمات المتاحة عشان يستخدمها ويتواصل معاها.
- الـ API Gateway: واجهة بتجمع عدة خدمات مايكرو سيرفيسز وتقدمها للمستخدم كواجهة واحدة.
- الـ Rate Limiting: قيود عشان تمنع المستخدمين أو الأنظمة من إرسال كم كبير من الطلبات في وقت قليل.
- الـ Circuit Breaker: آلية لقطع الاتصال مع خدمة معينة لو كانت بتفشل كتير عشان نحافظ على استقرار النظام.
- الـ Data Center: مكان بيضم السيرفرات والبنية التحتية اللي بتدير وتشغل الأنظمة والتطبيقات.
- الـ High Availability: ضمان إن النظام يفضل شغال معظم الوقت، حتى في حالات الأعطال أو الضغط العالي.
- الـ Message Queue: نظام لتخزين الرسائل عشان الخدمات المختلفة تقدر تتواصل مع بعض بدون انتظار الرد الفوري.
- الـ Eventual Consistency: مبدأ بيقول إن البيانات هتكون متوافقة عبر النظام كله في نهاية المطاف، حتى لو مش على الفور.
- الـ Leader Election: عملية اختيار سيرفر أو جزء معين من النظام كقائد لتنظيم العمل بين الأجزاء المختلفة.
- الـ Durability: البيانات اللي تم حفظها تفضل موجودة وآمنة حتى بعد حدوث مشاكل زي انقطاع الكهرباء.