الخدمات المصغرة (Microservices)
الخدمات المصغرة هي بنية يُبنى فيها التطبيق كمجموعة خدمات صغيرة مستقلة، كل واحدة مسؤولة عن قدرة واحدة. تطوّر الفرق وتنشر وتوسّع كل خدمة على حدة، ما يجعل الأنظمة الكبيرة أكثر مرونة وصموداً من النظام الأحادي الواحد.
باللهجة العراقية
تقسم البرنامج الكبير إلى قطع صغيرة كل وحدة تشتغل لحالها
بالتفصيل
يجمع النظام الأحادي كل ميزة في وحدة نشر واحدة، وقد يعرض تغيير في جزء النظام كله للخطر. تقسم الخدمات المصغرة النظام إلى خدمات مركزة — المدفوعات والبحث والإشعارات وملفات المستخدمين — لكل منها شيفرتها وبياناتها وواجهتها. يتيح ذلك للفرق النشر باستقلالية واختيار أفضل تقنية لكل خدمة وتوسيع الأجزاء الواقعة تحت الضغط فقط. والثمن تعقيد إضافي: اكتشاف الخدمات والتواصل بينها ومراقبتها الموزعة. جعلت الحاويات والمنظمات مثل دوكر وكوبرنتيس الخدمات المصغرة عملية، وهي تشغّل معظم المنصات الكبيرة اليوم.
مثال عملي
يقسم منصة بث نظامه إلى خدمات مصغرة ليتمكن محرك التوصيات من التوسع مستقلاً في ساعات الذروة.
أسئلة شائعة
لماذا نستخدم الخدمات المصغرة بدل النظام الأحادي؟
نشر مستقل وتوسيع لكل خدمة وحرية في التقنية — مقابل تعقيد تشغيلي أكبر.
هل الخدمات المصغرة مناسبة لكل مشروع؟
لا — تناسب الأنظمة الكبيرة النامية. التطبيقات الصغيرة غالباً أسرع بنائها وتشغيلها كنظام أحادي أولاً.
مصطلحات ذات صلة
خدمات ذات صلة
Kubernetes وتنسيق الحاويات
نشر التطبيقات الموجودة في حاويات وتوسيع نطاقها وإدارتها باستخدام Kubernetes.
تطوير واجهة برمجة التطبيقات وتكاملها
تصميم وإنشاء ودمج واجهات برمجة تطبيقات REST وGraphQL وwebhook.
البنية السحابية والترحيل
تصميم البنية الأساسية السحابية وترحيلها وتحسينها على AWS وAzure وGoogle Cloud.