البرنامج التعليمي: استخدم لوحة معلومات قاطع الدائرة مع تطبيقات Azure Spring

تحذير

لم يعد Hystrix قيد التطوير النشط وهو حاليا في وضع الصيانة.

إشعار

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

هذه المقالة تنطبق على: ✔️ Java ❌ C#‎

تنطبق هذه المقالة على: ✔️ Basic/Standard ✔️ Enterprise

توضح لك هذه المقالة كيفية استخدام توربينات Netflix وNetflx Hystrix على Azure Spring Apps. تستخدم توربينات Spring Cloud Netflix على نطاق واسع لتجميع تدفقات مقاييس Netflix Hystrix المتعددة بحيث يمكن مراقبة التدفقات في طريقة عرض واحدة باستخدام لوحة معلومات Hystrix.

إشعار

تستخدم Netflix Hystrix على نطاق واسع في العديد من تطبيقات Spring الحالية ولكنها لم تعد قيد التطوير النشط. إذا كنت تقوم بتطوير مشروع جديد، فيجب عليك استخدام تطبيقات Spring Cloud Circuit Breaker مثل resilience4j بدلا من ذلك. يختلف إطار عمل Spring Cloud Circuit Breaker الجديد عن Turbine الموضح في هذا البرنامج التعليمي، ويوحد جميع عمليات تنفيذ خط أنابيب بيانات المقاييس بالميكرومتر، والذي يدعمه أيضًا Azure Spring Apps. لمزيد من المعلومات، راجع تجميع مقاييس Spring Cloud Resilience4J Circuit Breaker باستخدام Micrometer (معاينة).

إعداد نماذج التطبيقات

يتم تفرع العينة من هذا المستودع.

نسخ نموذج المستودع إلى بيئة التطوير:

git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample

إنشاء التطبيقات الثلاثة الموجودة في هذا البرنامج التعليمي:

  • خدمة المستخدم: خدمة REST بسيطة تحتوي على نقطة نهاية واحدة من {id}/personalized/
  • خدمة التوصية: خدمة REST بسيطة تحتوي على نقطة نهاية واحدة من /recommendations، والتي تسمى بواسطة خدمة المستخدم.
  • hystrix-turbine: خدمة لوحة معلومات Hystrix لعرض Hystrix streams وخدمة Turbine تجميع تيار مقاييس Hystrix من خدمات أخرى.
mvn clean package -D skipTests -f user-service/pom.xml
mvn clean package -D skipTests -f recommendation-service/pom.xml
mvn clean package -D skipTests -f hystrix-turbine/pom.xml

وفّر مثيل تطبيقات Azure Spring

اتبع الخطوات الواردة في قسم توفير مثيل ل Azure Spring Apps في التشغيل السريع: نشر تطبيقك الأول إلى Azure Spring Apps.

انشر تطبيقاتك على تطبيقات Azure Spring

لا تستخدم هذه التطبيقات خادم التكوين، لذلك ليست هناك حاجة لإعداد Config Server ل Azure Spring Apps. إنشاء ونشر كما يلي:

az configure --defaults \
    group=<resource-group-name> \
    spring=<Azure-Spring-Apps-instance-name>

az spring app create --name user-service --assign-endpoint
az spring app create --name recommendation-service
az spring app create --name hystrix-turbine --assign-endpoint

az spring app deploy \
    --name user-service \
    --artifact-path user-service/target/user-service.jar
az spring app deploy \
    --name recommendation-service \
    --artifact-path recommendation-service/target/recommendation-service.jar
az spring app deploy \
    --name hystrix-turbine \
    --artifact-path hystrix-turbine/target/hystrix-turbine.jar

التحقق من تطبيقاتك

بعد تشغيل جميع التطبيقات واكتشافها، يمكنك الوصول user-service إلى المسار https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 من المتصفح. إذا كان يمكن الوصول إلى خدمة المستخدم recommendation-service، يجب أن تحصل على الإخراج التالي. قم بتحديث صفحة الويب عدة مرات إذا لم تعمل.

[{"name":"Product1","description":"Description1","detailsLink":"link1"},{"name":"Product2","description":"Description2","detailsLink":"link3"},{"name":"Product3","description":"Description3","detailsLink":"link3"}]

الوصول إلى لوحة معلومات Hystrix وتدفق المقاييس

تحقق باستخدام نقاط النهاية العامة أو نقاط نهاية الاختبار الخاصة.

استخدام نقاط النهاية العامة

الوصول إلى hystrix-turbine مع المسار https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix من المتصفح. يظهر الشكل التالي لوحة معلومات Hystrix قيد التشغيل في هذا التطبيق.

لقطة شاشة للوحة معلومات Hystrix تعرض تفاصيل التأخير والعنوان.

نسخ رابط Hystrix streamhttps://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default في مربع النص، وتحدد مراقبة التدفق. يعرض هذا الإجراء لوحة المعلومات. إذا لم يظهر أي شيء في العارض، فاضغط على user-service نقاط النهاية لإنشاء تدفقات.

لقطة شاشة لصفحة دفق Hystrix التي تعرض تفاصيل Circuit and Thread Pools.

إشعار

في الإنتاج، لا ينبغي كشف لوحة معلومات Hystrix وmetrics stream للإنترنت.

استخدام نقاط نهاية الاختبار الخاصة

يمكن الوصول إلى تدفقات مقاييس Hystrix أيضاً من test-endpoint. كخدمة خلفية، لم نعيين نقطة نهاية عامة لـ recommendation-service، ولكن يمكننا عرض مقاييسها باستخدام نقطة نهاية الاختبار عند https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream

لقطة شاشة لصفحة تدفق نقطة نهاية اختبار Hystrix.

كتطبيق ويب، يجب أن تعمل لوحة معلومات Hystrix على test-endpoint. إذا لم يعمل بشكل صحيح، فقد يكون هناك سببان: أولا، استخدام test-endpoint عنوان URL الأساسي الذي تم تغييره من / إلى /<APP-NAME>/<DEPLOYMENT-NAME>، أو، ثانيا، يستخدم تطبيق الويب المسار المطلق للمورد الثابت. لجعله يعمل test-endpoint، قد تحتاج تحرير ملفات الواجهة الأمامية <base> يدويا.

الخطوات التالية