البرمجة

أساسيات الـ System Design

12 ديسمبر 202513 دقائق قراءة
أساسيات الـ System Design

مفاهيم أساسية في تصميم الأنظمة للمقابلات والمشاريع الكبيرة.

لماذا System Design؟

تطبيق يخدم 100 مستخدم يختلف عن ملايين. فهم المبادئ ضروري للتوسع والمقابلات.

المفاهيم الأساسية

Scalability = التوسع مع زيادة الحمل
Availability = العمل بدون توقف
Consistency = البيانات متسقة
Partition Tolerance = يعمل رغم فشل جزئي

Horizontal vs Vertical Scaling

Vertical (Scale Up):
- زيادة قوة السيرفر الواحد
- محدود ومكلف

Horizontal (Scale Out):
- إضافة سيرفرات أكثر
- مرن ويتطلب تصميم مختلف

Load Balancing

Client → Load Balancer → Server 1
                       → Server 2
                       → Server 3

Algorithms:
- Round Robin
- Least Connections
- IP Hash

Caching

Client → CDN → Load Balancer → App → Cache → DB

Cache Strategies:
- Cache-Aside: التطبيق يدير الـ cache
- Write-Through: كتابة للـ cache والـ DB معاً
- Write-Behind: كتابة للـ cache، والـ DB لاحقاً

الخلاصة

System Design مهارة تتطور بالممارسة. ادرس أنظمة حقيقية كـ Twitter وNetflix.

الوسوم

#System Design#Architecture#Scalability#مقابلات#متقدم

مقالات ذات صلة