الخدمات المصغرة باستخدام Spring Boot و Spring Cloud

نشرت: 2020-09-04

جدول المحتويات

مقدمة في الخدمات المصغرة

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

تتوفر أدوات مختلفة في السوق بحيث يمكنك إنشاء برامج باستخدام بنية الخدمات المصغرة. Spring Cloud و Spring Boot هي أطر عمل لخدمات Java المصغرة الشائعة.

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

الخدمات المصغرة باستخدام Spring Boot و Spring Cloud

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

1. قم بإنشاء خدمة جديدة باستخدام Spring Boot باستخدام مُهيئ الزنبرك

وفقًا للبرنامج التعليمي الربيعي السحابي ، فإن الخطوة الأولى هي إنشاء هيكل مشروع باستخدام Spring Initializer. يوفر المُهيئ طريقة سريعة لإضافة جميع التبعيات التي تحتاجها لمشروعك. على سبيل المثال ، يمكنك اختيار مشروع Maven و Java و Spring Boot الإصدار 2.0.0. تتطلب مشاريع Maven معرف مجموعة ومعرف Artefact ، على غرار الحزمة والفئة في Java.

ستحتاج أيضًا إلى اختيار التبعيات ، على سبيل المثال ، الويب (لبدء تطوير تطبيقات الويب) ، و DevTools (يجعل من السهل تطوير التطبيقات) ، و Actuator (لمراقبة التطبيق) ، و Config Client (لتوصيل التطبيق بـ Spring Config الخادم). بمجرد تحديد جميع الخيارات ، ستقوم بإنشاء المشروع. لمعرفة المزيد ، راجع البدء بـ Spring Initializer في إنشاء مورد خدمة ويب RESTful . راجع Spring Data JPA لمعرفة كيفية الاتصال بقاعدة البيانات.

2. ضمان تسمية الخدمة واكتشافها

يجب تسجيل جميع الخدمات المصغرة لاكتشاف متى تبحث عنها خدمة أخرى في الهندسة المعمارية. على سبيل المثال ، قد ترغب خدمة معينة في العثور على جميع مثيلات خدمة أخرى يتم إعادة تشغيلها في بيئة معينة. في فصل الربيع هذا ، ستتعلم أن خادم التسمية يخزن المعلومات حول جميع الخدمات ومثيلاتها ويوفر المعلومات لمن يبحثون عنها. وبالتالي ، فهو يساعد في عملية اكتشاف الخدمة. لمعرفة المزيد حول تسجيل الخدمة واكتشافها ، راجع تسجيل واكتشاف الخدمات المصغرة باستخدام Spring Cloud و Eureka من Netflix .

قراءة: مواضيع ومشاريع Spring Boot

3. استدعاء خدمات مصغرة أخرى

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

4. ضمان موازنة الحمل

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

5. إدارة تكوين الخدمات المصغرة مركزيًا باستخدام Spring Cloud Config Server

وفقًا لهذا البرنامج التعليمي السحابي الربيعي ، يستخدم أحد التطبيقات خدمات صغيرة متعددة ، وبيئات متعددة لهذه الخدمات الصغيرة ، وأيضًا ، حالات مختلفة من هذه الخدمات تعمل في البيئات. يوفر Spring Configuration Server موقعًا مركزيًا لتخزين معلومات التكوين المتعلقة بجميع مثيلات الخدمات المصغرة.

نتيجة لذلك ، يتوفر هذا التكوين في مكان واحد ويلزم استخدامه بواسطة أي خدمة في الهندسة المعمارية. لإدارة التكوين مركزيًا ، ستحدد الخصائص المتعلقة بخدمة جديدة ، ثم تقوم بتوصيل خادم Spring Config المرتبط باستخدام Git كمستودع للكود. لمعرفة المزيد ، راجع الوثائق نظرة عامة على تكوين الربيع . لمعرفة كيفية توصيل Spring Config بـ Git ، ارجع إلى Spring Cloud Config .

اقرأ أيضًا: راتب Spring Developer في الهند

6. إنشاء الأمان مع Spring Cloud

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

على سبيل المثال ، Zuul Server هو تطبيق API Gateway الذي يعالج الطلبات وينفذ التوجيه الديناميكي لتطبيقات الخدمات المصغرة. راجع Spring Cloud Gateway لمعرفة المزيد في دروس السحابة الربيعية هذه .

7. تمكين التسامح مع الخطأ

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

تحقق من: شرح دورة حياة فاصوليا الربيع

خاتمة

نأمل أن يكون هذا البرنامج التعليمي Spring Cloud بمثابة نقطة انطلاق أساسية للبدء.

إذا كنت مهتمًا بمعرفة المزيد حول Spring Cloud ، فراجع دبلومة PG من upGrad و IIIT-B في تطوير البرامج المتكاملة المصممة للمهنيين العاملين وتقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، والمهام ، IIIT -ب حالة الخريجين ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

انطلق في وظيفة أحلامك

الترقية و IIIT-BANGALORE دبلوم PG في تطوير البرامج
قدم الآن