مروان محمود3 نشر 11 سبتمبر 2021 أرسل تقرير نشر 11 سبتمبر 2021 ماهي ال microservice وما المقصود بها 1 اقتباس
1 شرف الدين حفني نشر 11 سبتمبر 2021 أرسل تقرير نشر 11 سبتمبر 2021 قبل أن أشرح ماهي الخدمات المصغرة (microservices) دعني أشرح لك النظام التقليدي في بناء الأنظمة وهو نظام الصخرة الضخمة (monoliths) في التطبيقات التقليدية يكون النظام كله مرفوع على خادم ويكون غالباً هذا النظام مبني بنفس الشفرة المصدرية , عندما يريد أحد أفراد الفريق إضافة خاصية جديدة , يقوم بإضافة تلك الخاصية إلى النظام, لماذا قد يُسبب هذا مشكلة؟ قد يسبب ذلك مشكلة بسبب أن مع الوقت عندما ينمو التطبيق ويكبر يزداد حجمه بشكل كبير ويصبح من الصعب التعديل على المميزات القديمة في التطبيق أو إضافة مميزات جديدة بسبب إعتماد الخواص كلها على بعض لأنها كلها مكتوبة في نفس النظام الضخم , بالإضافة إلى مشكلة الscalability أو قابلية التوسع, فمع زيادة مستخدمين التطبيق يزداد الضغط على الخادم مما يؤدي إلى مشاكل في الأداء بالإضافة إلى ظهور مشاكل أخرى في مرحة الإختبار لأن كل أجزاء النظام معتمدة على بعضها البعض مما يزيد التعقيد عند الإختبار حيث من الممكن توقع مشكلة في أى جزأ من النظام . على الجانب الأخر يوجد نظام الmicroservices أو الخدمات المصغرة, كما شبهنا بالأعلى النظام التقليدي بالصخرة الكبيرة, يمكننا تشبيه هذا النظام بتفتيت تلك الصخرة إلى صخور أصغر منها فبدلاً من إنشاء نظام واحد كبير ملئ بالخواص والمميزات, نقوم بإنشاء عدد كبير من الأنظمة الصغيرة ويتواصل المستخدم معهم مما يُسهل التعديل على خواص النظام نظراً لأن كل نظام منهم قائم على ذاته ﻻ يعتمد على باقي الأنظمة بالإضافة إلى سهولة إختبار النظام, حيث أنك تحتاج لإختبار كل نظام على حدة دون الإعتماد على باقى النظم , فإن ظهر خطأ في نظام فيكون ذلك الخطأ بسبب النظام نفسه, وليس بسبب خطأ في نظام أخر معتمد عليه, فكما قلنا في الخدمات المصغرة يكون كل نظام ﻻ يعتمد على الأخر وبوجه عام نقوم بإستخدام النظام التقليدي في حالة: ﻻ يوجد عدد كبير من المطورين الذين يعملون على نفس المشروع( لدينا نفس قاعدة الكودcode base) ﻻ يوجد عدد خارق من المستخدمين لهذا النظام, حيث أنه يستهدف شريحة معين ونقوم بإستخدام نظام الخدمات المصغرة في حالة تتوقع عدد كبير من المطورين للعمل على نفس المشروع ولفترات طويلة تتوقع عدد كبير من المستخدمين 2 اقتباس
0 عبدالباسط ابراهيم نشر 11 سبتمبر 2021 أرسل تقرير نشر 11 سبتمبر 2021 كما وضح شرف الدين في التعليق السابق أن ال microservices تقوم على تقسيم المشروع إلى وحدات أصغر غير مرتبطة ببعضها ويمكنك الفهم أكثر من خلال الصورة التالية ولكن ما المفيد من هذه التقنية السرعة Agility: حيث أن من خلال ال microservices يعمل الفريق بشكل مستقل وبتركيز أكثر على خدمة واحدة بدون الإرتباط ببقية المشروع مما يفيد ذلك في زيادة سرعة التطوير سهولة التمدد: حيث يمكن لكل microservice من التمدد حتى تلائم متطلبات المشروع دون الإرتباط microservices الأخرى سهولة النشر Easy Deployment : بالإضافة لسهولة استخدام ال CI و ال CD كما أن يمكنك لمطوري ال microservice استخدام الأدوات والتقنيات التي يفضلونها دون الإرتباط بال microservices الأخرى ومن أكثر مميزات هذه التقنية هو إمكانية استخدام نفس الكود لل microservice في مشروع آخر أي يمكنك استخدام خدمة في عدة مشاريع مختلفة اقتباس
السؤال
مروان محمود3
ماهي ال microservice وما المقصود بها
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.