النماذج المعمارية ونماذج الأنظمة
تصف النماذج المعمارية كيفية تنظيم مكونات النظام الموزع وكيفية تقسيم مسؤولية الحوسبة والبيانات فيما بينها.
Definition
يحدد النموذج المعماري للنظام الموزع أنواع المكونات (العمليات)، والأدوار التي تلعبها، وأنماط الاتصال والاعتمادية فيما بينها، مع تجريدها من الأجهزة المادية التي تعمل عليها.
Scope
يغطي هذا الموضوع الأنماط المعمارية الرئيسية للأنظمة الموزعة: العميل-الخادم، متعددة المستويات (n-tier)، الند للند، والتنظيمات الهجينة، بالإضافة إلى الأنماط الهيكلية مثل المعماريات الطبقية، القائمة على الكائنات، المرتكزة على الموارد (REST)، والقائمة على الأحداث. كما يغطي وضع العمليات والمفاضلات في تقسيم المكونات وتكرارها وتخزينها مؤقتًا عبر الأجهزة.
Core questions
- كيف ينبغي تقسيم مسؤولية الحوسبة والبيانات بين المكونات؟
- متى يكون تنظيم الند للند مفضلاً على العميل-الخادم؟
- ما هو النمط المعماري الذي يدعم قابلية التوسع والتطور بشكل أفضل لعبء عمل معين؟
Key theories
- تنظيم العميل-الخادم ومتعدد المستويات
- تُقسم المكونات إلى عملاء يطلبون الخدمة وخوادم تستجيب، وتُقسم منطق التطبيق إلى طبقات عبر مستويات العرض والمعالجة والبيانات التي يمكن توزيعها بشكل مستقل لموازنة الحمل والتوسع.
- تنظيم الند للند واللامركزي
- تكون جميع العقد متكافئة وظيفيًا وتعمل كعملاء وخوادم على حد سواء، مما يتيح شبكات متراكبة ذاتية التنظيم دون نقطة تحكم أو فشل مركزية، ولكن على حساب آليات بحث واتساق أكثر تعقيدًا.
- المعمارية الموجهة نحو الموارد (REST)
- تنظم بنية نقل الحالة التمثيلية (Representational State Transfer) النظام حول موارد قابلة للعنونة تُعالج من خلال واجهة موحدة وعديمة الحالة، وهو نمط معماري تم اشتقاقه لشرح وتوجيه قابلية توسع الويب.
Clinical relevance
يُعد النمط المعماري القرار المبكر الأكثر تأثيرًا في تصميم النظام: فهو يحكم قابلية التوسع، وعزل الأخطاء، ومدى استقلالية الفرق في تطوير المكونات، ويُشكل الأساس للاختيار بين عمليات النشر المتجانسة (monolithic)، والخدمات المصغرة (microservice)، والند للند.
History
تطورت المعماريات الموزعة من الحواسيب المركزية (mainframes) إلى حوسبة العميل-الخادم في الثمانينيات، ثم إلى أنظمة المؤسسات متعددة المستويات والشبكات المتراكبة (overlays) واسعة النطاق من نوع الند للند في التسعينيات والعقد الأول من القرن الحادي والعشرين، وإلى معماريات الويب الموجهة نحو الموارد التي تم توضيح مبادئها في أطروحة REST لـ Fielding في عام 2000.
Key figures
- Roy Fielding
- Andrew S. Tanenbaum
- Maarten van Steen
Related topics
Seminal works
- tanenbaum2017
- fielding2000
Frequently asked questions
- ما الفرق بين النموذج المعماري والنشر المادي؟
- يصف النموذج المعماري المكونات المنطقية وأنماط تفاعلها، بينما يقوم النشر المادي بربط هذه المكونات بأجهزة وشبكات فعلية. يمكن نشر نموذج معماري واحد في العديد من التكوينات المادية.