المقدمة
تعالوا نشوف مع بعض شوية من أهم المصطلحات المستخدمة في تصميم الأنظمة والـ (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: البيانات اللي تم حفظها تفضل موجودة وآمنة حتى بعد حدوث مشاكل زي انقطاع الكهرباء.
في الختام
دول كانوا أهم 24 مصطلح جم في بالي وحسيت ان من المهم معرفتهم وفهمهم وحبيت إني اكتبهم بالعربي بشكل بسيط وطبعًا بالاستعانة بـ ChatGPT العزيز ، وتفتكروا ليه هم 24 ؟ ليه مش 25 ؟ وليه مش 30 وليه مش 50 ؟
= (عشان بس مكنش فيه مساحة كافية في التصميم) 😎
ولو الموضوع عجبكم ممكن نجرب نعمل حاجات مشابهة في هندسة البرمجيات زي الـ Architecture Patterns وخلافها من المصطلحات اللي شايفينها مهمة , وشاركونا برضو المصطلحات دي 😍