إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا التشغيل السريع، ستتعلم كيفية نشر تطبيق في Azure Container Apps يستخدم مكونات Java للتعامل مع إدارة التكوين واكتشاف الخدمة والصحة والمقاييس. نموذج التطبيق المستخدم في هذا المثال هو Java PetClinic، الذي يستخدم نمط بنية الخدمات المصغرة. يوضح الرسم التخطيطي التالي بنية تطبيق PetClinic على Azure Container Apps:
يتضمن تطبيق PetClinic الميزات التالية:
- الواجهة الأمامية هي تطبيق ويب مستقل Node.js مستضاف على تطبيق بوابة واجهة برمجة التطبيقات.
- توجه بوابة API الطلبات إلى تطبيقات الخدمة الخلفية.
- تم إنشاء التطبيقات الخلفية باستخدام Spring Boot.
- يستخدم كل تطبيق خلفي قاعدة بيانات HyperSQL كمخزن مستمر.
- تستخدم التطبيقات مكونات Java المدارة على Azure Container Apps، بما في ذلك سجل الخدمة وخادم التكوين وخادم المسؤول.
- يقرأ خادم التكوين البيانات من مستودع Git.
- تسجل مساحة عمل Log Analytics بيانات الخادم.
في هذا البرنامج التعليمي، سوف تتعلّم:
- إنشاء خادم تكوين وخادم Eureka وخادم المسؤول ومكونات المسؤول
- إنشاء سلسلة من تطبيقات الخدمات المصغرة
- ربط مكونات الخادم بتطبيقات الخدمات المصغرة
- نشر مجموعة التطبيقات
- مراجعة التطبيقات المنشورة
بنهاية هذه المقالة، يمكنك نشر تطبيق ويب واحد وثلاثة تطبيقات خلفية تم تكوينها للعمل مع ثلاثة مكونات Java مختلفة. يمكنك بعد ذلك إدارة كل مكون عبر مدخل Microsoft Azure.
المتطلبات الأساسية
- حساب Azure: إذا لم يكن لديك حساب Azure، فبادر بإنشاء حساب مجانا. تحتاج إلى إذن المساهم أو المالك في اشتراك Azure لاستخدام هذا التشغيل السريع. لمزيد من المعلومات، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.
- Azure CLI: تثبيت Azure CLI.
- ملحق Azure Container Apps CLI. استخدم الإصدار 0.3.47 أو أعلى.
az extension add --name containerapp --upgrade --allow-previewاستخدم الأمر لتثبيت أحدث إصدار.
الإعداد
لإنشاء متغيرات البيئة ومجموعة الموارد وبيئة Azure Container Apps، استخدم الخطوات التالية:
تحتوي متغيرات البيئة على قيمك المخصصة، لذا استبدل قيم العنصر النائب محاطة
<>بالقيم الخاصة بك قبل تشغيل الأوامر التالية:export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>الآن يمكنك إنشاء المزيد من متغيرات البيئة التي تحتوي على إعدادات تطبيق الخدمات المصغرة. يتم استخدام هذه القيم لتعريف أسماء وتكوينات مكونات Java وتطبيقات حاوية Azure التي تستخدمها لنشر الخدمات المصغرة. قم بإنشاء متغيرات البيئة هذه باستخدام الأوامر التالية:
export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gatewayقم بتسجيل الدخول إلى Azure CLI واختر اشتراكك النشط باستخدام الأمر التالي:
az loginإنشاء مجموعة موارد لتنظيم خدمات Azure باستخدام الأمر التالي:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATIONإنشاء بيئة Azure Container Apps، التي تستضيف كل من مكونات Java وتطبيقات الحاوية الخاصة بك، باستخدام الأمر التالي:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
إنشاء مكونات Java
الآن يمكنك إنشاء مكونات Java التالية التي تدعم تطبيقك:
- خادم التكوين. يستخدم لإدارة إعدادات التكوين لتطبيقات الخدمات المصغرة.
- خادم يوريكا. يستخدم لإدارة سجل الخدمة والاكتشاف.
- خادم المسؤول. يستخدم لمراقبة وإدارة صحة ومقاييس تطبيقات الخدمات المصغرة.
لإنشاء مكونات الخادم هذه، استخدم الخطوات التالية:
إنشاء خادم التكوين لمكونات Java باستخدام الأمر التالي:
az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URIإنشاء خادم Eureka لمكونات Java باستخدام الأمر التالي:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \إنشاء خادم المسؤول لمكونات Java باستخدام الأمر التالي:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
نشر تطبيقات الخدمات المصغرة
لنشر تطبيقات الخدمات المصغرة Java إلى Azure Container Apps باستخدام صور الحاوية التي تم إنشاؤها مسبقا، استخدم الخطوات التالية:
إشعار
في هذه المقالة، يمكنك استخدام سلسلة من الصور المضمنةلتطبيقات الخدمات المصغرة Spring Petclinic. لديك أيضا خيار تخصيص نموذج التعليمات البرمجية واستخدام الصور الخاصة بك. لمزيد من المعلومات، راجع مستودع GitHub azure-container-apps-java-samples.
إنشاء تطبيق بيانات العميل باستخدام الأمر التالي:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGEإنشاء تطبيق vet باستخدام الأمر التالي:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGEإنشاء تطبيق الزيارات باستخدام الأمر التالي:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGEإنشاء تطبيق بوابة API باستخدام الأمر التالي:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
ربط تطبيقات الحاوية إلى مكونات Java
بعد ذلك، اربط مكونات Java بتطبيقات الحاوية الخاصة بك. توفر الروابط التي تقوم بإنشائها في هذا القسم الوظائف التالية:
- أدخل بيانات التكوين في كل تطبيق من خادم التكوين المدار عند بدء التشغيل.
- سجل التطبيق مع خادم يوريكا المدار لاكتشاف الخدمة.
- تمكين خادم المسؤول لمراقبة التطبيق.
containerapp update استخدم الأمر لإنشاء روابط لكل تطبيق باستخدام الخطوات التالية:
أضف روابط إلى تطبيق بيانات العميل باستخدام الأمر التالي:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTأضف روابط إلى خدمة vet باستخدام الأمر التالي:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTأضف روابط إلى خدمة الزيارات باستخدام الأمر التالي:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENTإضافة روابط إلى بوابة API. استخدم الأمر التالي لإرجاع عنوان URL لتطبيق الواجهة الأمامية، ثم افتح هذا الموقع في المستعرض:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
التحقق من حالة التطبيق
استخدم الخطوات التالية للتحقق من حالة التطبيق:
باستخدام عنوان URL الذي تم إرجاعه من أمر بوابة
az containerapp updateواجهة برمجة التطبيقات، اعرض تطبيق الواجهة الأمامية في المستعرض الخاص بك. يجب أن يشبه التطبيق لقطة الشاشة التالية:عرض لوحة معلومات خادم Eureka باستخدام الخطوات التالية:
هام
لعرض لوحة معلومات خادم Eureka ولوحة معلومات المسؤول ل Spring، تحتاج على الأقل
Microsoft.App/managedEnvironments/writeإلى تعيين الدور لحسابك على مورد البيئة المدارة. يمكنك تعيينOwnerدور أوContributorعلى المورد بشكل صريح. يمكنك أيضا اتباع الخطوات لإنشاء تعريف دور مخصص وتعيينه إلى حسابك.قم بتشغيل الأمر التالي لإرجاع عنوان URL للوحة المعلومات:
az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnافتح عنوان URL في المستعرض. يجب أن تشاهد تطبيقا يشبه لقطة الشاشة التالية:
عرض لوحة معلومات المسؤول ل Spring باستخدام الخطوات التالية:
استخدم الأمر التالي لإرجاع عنوان URL للوحة المعلومات:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdnافتح عنوان URL في المستعرض. يجب أن تشاهد تطبيقا يشبه لقطة الشاشة التالية:
اختياري: تكوين مكونات Java
يمكنك تكوين مكونات Java التي تم إنشاؤها في هذا التشغيل السريع من خلال مدخل Microsoft Azure باستخدام قسم التكوينات .
لمزيد من المعلومات حول تكوين مكونات Java الثلاثة التي قمت بإنشائها في هذا التشغيل السريع، راجع الارتباطات التالية:
تنظيف الموارد
الموارد التي تم إنشاؤها في هذا التشغيل السريع لها تأثير على فاتورة Azure. إذا كنت لن تستخدم هذه الخدمات على المدى الطويل، فاستخدم الأمر التالي لإزالة كل شيء تم إنشاؤه في هذا التشغيل السريع:
az group delete --resource-group $RESOURCE_GROUP