Microservice Architecture = الحوسبة الموزعة

تحياتي لجميع القراء من هبر! اسمي إيغور ريباكوف وأنا المدير التقني لشركة DAR في كازاخستان لتكنولوجيا المعلومات. اليوم سوف أشاطركم فهم واستخدام مبادئ الحوسبة المتوازية في نظم المعلومات الحديثة. لفهم هذا بشكل أعمق ، أود أن أقدم حججًا مؤيدة للدراسة والتطبيق العملي لمفاهيم الحوسبة المتوازية والموزعة في تطوير أنظمة المعلومات الحديثة.


الحوسبة المتوازية أو ماذا يفعل مؤسس Intel


أولا ، القليل من التاريخ. في عام 1965 ، اكتشف جوردون مور ، أحد مؤسسي شركة إنتل ، نمطًا: تم ملاحظة ظهور نماذج جديدة من الدوائر الصغيرة بعد عام تقريبًا من سابقاتها ، بينما تضاعف عدد الترانزستورات فيها تقريبًا في كل مرة. اتضح أن عدد الترانزستورات الموضوعة على رقاقة الدائرة المتكاملة يتضاعف كل 24 شهرًا. هذه الملاحظة أصبحت تسمى قانون مور. توقع مؤسس شركة إنتل أن يرتفع عدد العناصر في الشريحة من 2 ^ 6 (حوالي 60) في عام 1965 إلى 2 ^ 16 (65 ألفًا) بحلول عام 1975 .


الآن ، لكي نتمكن من تطبيق هذه القوة الحاسوبية الإضافية التي توقعها مور ، أصبح من الضروري استخدام الحوسبة المتوازية. على مدار عدة عقود ، زادت الشركات المصنعة للمعالجات باستمرار من سرعة الساعة والتوازي على مستوى التعليمات ، بحيث يتم تشغيل التطبيقات القديمة ذات الترابط الفردي بشكل أسرع على المعالجات الجديدة دون أي تغييرات في رمز البرنامج.


منذ منتصف عام 2000 تقريبًا ، بدأت الشركات المصنعة للمعالجات في تفضيل بنية متعددة النوى ، ولكن للحصول على الفائدة الكاملة من زيادة أداء المعالج المركزي ، يجب إعادة كتابة البرامج بطريقة مناسبة. تنشأ هنا مشكلة ، لأنه وفقًا لقانون أمدال ، لا يمكن موازاة كل خوارزمية ، وبالتالي تحديد الحد الأساسي لكفاءة حل مشكلة حسابية على أجهزة الكمبيوتر العملاقة.


للتغلب على هذا الحد ، يتم استخدام أساليب الحوسبة الموزعة. هذه طريقة لحل مشاكل الحوسبة كثيفة العمالة باستخدام العديد من أجهزة الكمبيوتر ، والتي غالباً ما يتم دمجها في نظام الحوسبة المتوازية. يتم إجراء الحسابات المتسلسلة في نظم المعلومات الموزعة مع مراعاة الحل المتزامن للعديد من المشكلات الحسابية. تتمثل إحدى ميزات أنظمة الحوسبة متعددة المعالجات الموزعة ، على عكس أجهزة الكمبيوتر العملاقة المحلية ، في إمكانية حدوث زيادة غير محدودة في الأداء بسبب القياس .


حوالي منتصف عام 2005 ، تم تجهيز أجهزة الكمبيوتر على نطاق واسع مع معالجات متعددة النواة ، والتي تتيح الحوسبة المتوازية. وتتيح لك تقنيات الشبكات الحديثة الجمع بين مئات وآلاف أجهزة الكمبيوتر. مما أدى إلى ظهور ما يسمى "الحوسبة السحابية".


استخدام الحوسبة المتوازية


أنظمة المعلومات الحالية ، مثل التجارة الإلكترونية ، في حاجة ماسة إلى توفير خدمات عالية الجودة لعملائها. الشركات تتنافس ، وتخترع منتجات وخدمات معلومات جديدة. يجب أن تكون الخدمات مصممة للتحميل العالي والتسامح العالي ، كمستخدمين للخدمات ، وليس مكتب واحد ، وليس دولة واحدة ، ولكن العالم بأسره.


في الوقت نفسه ، من المهم الحفاظ على الجدوى الاقتصادية للمشاريع وعدم إنفاق أموال غير ضرورية على أجهزة الخادم باهظة الثمن إذا كانت البرامج القديمة التي تستخدم جزءًا فقط من الطاقة الحاسوبية ستعمل عليها.


واجه مطورو أنظمة التطبيقات مشكلة جديدة - الحاجة إلى إعادة كتابة أنظمة المعلومات لتلبية متطلبات الأعمال الحديثة والحاجة إلى استخدام موارد الخادم بشكل أفضل لتقليل التكلفة الإجمالية للملكية. المهام التي تحتاج إلى معالجة بواسطة أنظمة المعلومات الحديثة متنوعة.


بدءاً من التعلم الآلي وتحليلات البيانات الكبيرة ، لضمان التشغيل المستقر لوظائف النظام الأساسية الحالية خلال فترات الذروة. على سبيل المثال ، هنا يمكنك الاستشهاد بمبيعات كبيرة في المتجر عبر الإنترنت. يمكن حل كل هذه المهام باستخدام مزيج من الحوسبة المتوازية والموزعة ، على سبيل المثال ، تنفيذ بنية الخدمة الصغيرة.


مراقبة جودة الخدمة


لقياس الجودة الفعلية للخدمات للعميل ، يتم استخدام مفهوم اتفاقية مستوى الخدمة (SLA) ، أي بعض المقاييس الإحصائية لأداء النظام.


على سبيل المثال ، يمكن للمطورين تعيين أنفسهم بأن خدمة 95٪ من جميع طلبات المستخدمين يتم تقديمها بوقت استجابة لا يتجاوز 200 مللي ثانية. بالمناسبة ، إنها متطلبات غير وظيفية حقيقية ، لأن المستخدمين لا يحبون الانتظار.


لتقييم مدى رضا المستخدم عن الخدمة ، يمكنك استخدام مؤشر Apdex الذي يعكس نسبة الاستجابات الناجحة (غير الراضة) إلى غير المرضية (غير المرضية). على سبيل المثال ، قيمة الحد الأدنى هي SLA = 1.2 ثانية ، ثم مع 95٪ من وقت الاستجابة للطلبات <= 1.2 ثانية ، ستكون النتيجة ناجحة. في حالة وجود عدد كبير من الطلبات أكثر من 1.2 ثانية ، ولكن أقل من 4T (4.8 ثانية) ، تعتبر النتيجة مرضية ، وعندما يتجاوز عدد كبير من الطلبات 4T ، تلك> 4.8 ثانية ، تعتبر النتيجة فاشلة.


النتائج


كنتيجة لذلك ، أود أن أقول إن تطوير خدمات microservices ينطوي بالفعل على فهم وتطبيق عملي للحوسبة الموزعة والمتوازية.


بالطبع ، سوف تضطر إلى التضحية ببعض الأشياء:


  • بساطة التطوير والصيانة - جهود المطورين لتنفيذ الوحدات الموزعة ؛
  • عند العمل مع قواعد البيانات ، قد يسلب التناسق التام (ACID) ويتطلب أساليب أخرى ؛
  • يتم إنفاق الطاقة الحاسوبية على اتصالات الشبكة والتسلسل ؛
  • نقضي وقتًا في تنفيذ ممارسات DevOps من أجل المراقبة والنشر الأكثر تعقيدًا.

في المقابل ، حصلنا ، في رأيي ، على المزيد:


  • القدرة على إعادة استخدام وحدات كاملة جاهزة للاستخدام ، ونتيجة لذلك ، إطلاق سريع للمنتجات في السوق
  • قابلية تطوير عالية للأنظمة ، مما يعني المزيد من العملاء دون فقدان SLA ؛
  • باستخدام التناسق النهائي ، استنادًا إلى نظرية CAP ، نحصل على القدرة على إدارة كميات هائلة من البيانات ، مرة أخرى ، دون فقد SLA ؛
  • القدرة على تسجيل أي تغيير في حالة النظام لمزيد من التحليل والتعلم الآلي.

Source: https://habr.com/ru/post/ar443988/


All Articles