Technical Guide

بنية الأنظمة والقابلية للتوسع

دليل شامل لتصميم أنظمة تدوم. تعلم عن أنماط البنية، تصميم API، أنظمة المصادقة، البنية التحتية للوقت الحقيقي، والبناء للتوسع بدون إفراط في الهندسة.

15 يناير 202611 دقيقة للقراءةفريق هندسة أورنتس

تصميم أنظمة تدوم

أصعب جزء في بنية البرمجيات مش بناء أنظمة تشتغل. هو بناء أنظمة تستمر تشتغل—عبر النمو، المتطلبات المتغيرة، دوران الفريق، وسنين من الصيانة.

شفنا كوارث بنيوية كفاية عشان نعرف شو ما يشتغل. الخدمات المصغرة المفرطة الهندسة اللي كان لازم تكون مونوليث. المونوليث اللي كان لازم ينقسم من سنين. النظام "القابل للتوسع" اللي ما يقدر يتعامل مع 100 مستخدم متزامن.

البنية الجيدة عن عمل المقايضات الصحيحة لوضعك الفعلي—مش اتباع الأنماط بشكل أعمى أو التحضير لتوسع ما راح توصله أبداً.

الهدف مش البنية الأكثر تطوراً. هو أبسط بنية تحل مشكلتك وتقدر تتطور مع عملك.

مبادئ البنية

1. ابدأ بسيط، توسع لما تحتاج

لا تبني لـ 10 مليون مستخدم لما عندك 1,000. هذا مش تخطيط مسبق—هذا إهدار موارد على مشاكل ما عندك.

المرحلةالبنيةمتى تتطور
MVPمونوليث، قاعدة بيانات واحدةتحقق من العمل
النمومونوليث، read replicas، كاشحدود الأداء وصلت
التوسعاستخراج الخدمات، معالجة غير متزامنةالاختناقات محددة بوضوح
المؤسساتمدفوعة بالأحداث، موزعةحدود المنظمة/المجال واضحة

2. التكنولوجيا المملة تكسب

نستخدم تكنولوجيا مجربة ومملة للأنظمة الحرجة. PostgreSQL بدل أحدث قاعدة بيانات NewSQL. Node.js بدل runtimes تجريبية.

تصميم API

الـ APIs هي العقود بين الأنظمة. بمجرد ما تُنشر، صعب تغييرها.

أمن API

كل API تحتاج أمن مناسب. بدون استثناءات.

الطبقةالتنفيذالغرض
النقلTLS 1.3تشفير في النقل
المصادقةOAuth 2.0 / JWTالتحقق من الهوية
التفويضRBAC / ABACالتحقق من الصلاحيات
تحديد المعدلToken bucketمنع الإساءة
التحقق من المدخلاتالتحقق من المخططمنع الحقن

المصادقة والتفويض

المصادقة بنية تحتية حرجة. إذا هذي فشلت، كل شي مخترق.

الطريقةحالة الاستخداممستوى الأمان
كوكيز الجلسةتطبيقات الويبعالي (مع التكوين المناسب)
توكنات JWTAPIs, SPAsعالي (انتهاء قصير + refresh)
مفاتيح APIخادم إلى خادممتوسط (تدوير منتظم)
OAuth 2.0وصول طرف ثالثعالي (اختيار flow صحيح)

أنظمة الوقت الحقيقي

التطبيقات الحديثة تحتاج قدرات الوقت الحقيقي. تحديثات مباشرة، ميزات تعاونية، إشعارات فورية.

التكنولوجياالأفضل لـالمقايضات
WebSocketsثنائي الاتجاه، تردد عاليتعقيد إدارة الاتصالات
Server-Sent Eventsتحديثات خادم→عميلأبسط، لكن اتجاه واحد
Long Pollingاحتياطي، حالات بسيطةتأخير أعلى، طلبات أكثر

استراتيجيات التوسع

التوسع عن التعامل مع النمو بدون إعادة كتابة كل شي.

توسع قاعدة البيانات

الاستراتيجيةمتىالتعقيد
التوسع العموديالخطوة الأولى، حتى ~64 coresمنخفض
Read replicasأحمال عمل كثيفة القراءةمنخفض
Connection poolingكثير من نسخ التطبيقمنخفض
التقسيمسلاسل زمنية، متعدد المستأجرينمتوسط
Shardingتوسع متطرفعالي

المونوليث مقابل الخدمات المصغرة

النقاش الأبدي. هنا وجهة نظرنا:

ابدأ بمونوليث لمافكر في الخدمات المصغرة لما
منتج جديد، متطلبات غير مؤكدةحدود المجال موجودة بوضوح
فريق صغير (< 10 مهندسين)فرق متعددة تحتاج استقلالية
تحتاج تتحرك بسرعةمتطلبات توسع مختلفة لكل خدمة
ما تعرف مجالاتك بعداحتياجات تكنولوجية مختلفة لكل خدمة

المونوليث المعياري

أفضل ما في العالمين: بساطة نشر المونوليث مع حدود شبيهة بالخدمات.

الوحدات تتواصل عبر واجهات محددة بوضوح. لما تحتاج تستخرج خدمة، الحدود موجودة بالفعل.

التعافي من الكوارث

الأنظمة تفشل. خطط لذلك.

المستوىRTORPOالتنفيذ
أساسيساعاتساعاتنسخ احتياطية يومية، استعادة يدوية
قياسي30 دقيقة15 دقيقةنسخ احتياطية آلية، قاعدة بيانات احتياطية
توفر عاليدقائقدقائقمتعدد المناطق، failover آلي
مهمة حرجةثوانيشبه صفرمتعدد المناطق، active-active

الخلاصة

البنية الجيدة مش عن اتباع التريندات أو تنفيذ كل نمط قرأت عنه. هي عن فهم احتياجاتك الفعلية وعمل مقايضات متعمدة.

أفضل البنى هي الأبسط اللي تحل المشكلة. التعقيد تكلفة، مش ميزة.

صممنا أنظمة تتعامل مع ملايين الطلبات، تعالج بيانات وقت حقيقي، وتخدم مستخدمين عالميين. الخيط المشترك مش التكنولوجيا المتطورة—هو التصميم المدروس اللي يتوافق مع المتطلبات الفعلية.

إذا تواجه قرارات بنيوية أو تعاني مع أنظمة ما تتوسع، بنكون سعداء نناقش وضعك المحدد.

Topics covered

بنية الأنظمةالقابلية للتوسعتصميم APIالمصادقةأنظمة الوقت الحقيقيالخدمات المصغرةالأنظمة الموزعةالبنية التحتية

Ready to implement agentic AI?

Our team specializes in building production-ready AI systems. Let's discuss how we can help you leverage agentic AI for your enterprise.

Start a conversation