حدث
إنشاء تطبيقات ووكلاء الذكاء الاصطناعي
١٧ رمضان، ٩ م - ٢١ رمضان، ١٠ ص
انضم إلى سلسلة الاجتماعات لإنشاء حلول الذكاء الاصطناعي قابلة للتطوير استنادا إلى حالات الاستخدام في العالم الحقيقي مع المطورين والخبراء الآخرين.
تسجيل الآنلم يعد هذا المتصفح مدعومًا.
بادر بالترقية إلى Microsoft Edge للاستفادة من أحدث الميزات والتحديثات الأمنية والدعم الفني.
ملاحظة
سيتم إهمال الخطط الأساسية والقياسية والمؤسسة بدءا من منتصف مارس 2025، مع فترة تقاعد 3 سنوات. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع إعلان إيقاف Azure Spring Apps.
سيتم إهمال الاستهلاك القياسي والخطة المخصصة بدءا من 30 سبتمبر 2024، مع إيقاف التشغيل الكامل بعد ستة أشهر. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع ترحيل استهلاك Azure Spring Apps القياسي وخطة مخصصة إلى Azure Container Apps.
تنطبق هذه المقالة على:✅ Java ✅ C#
تنطبق هذه المقالة على:✅ Basic/Standard ✅ Enterprise
توضح لك هذه المقالة كيفية تخصيص التطبيقات التي تعمل في Azure Spring Apps مع فحوصات السلامة وفترات الإنهاء بأمان.
الفحص هو نشاط تشخيصي يتم تنفيذه بشكل دوري بواسطة Azure Spring Apps على مثيل تطبيق. لإجراء تشخيص، تتخذ Azure Spring Apps أحد الإجراءات التالية:
تقدم Azure Spring Apps قواعد فحص السلامة الافتراضية لكل تطبيق. توضح لك هذه المقالة كيفية تخصيص التطبيق الخاص بك مع ثلاثة أنواع من تحقيقات السلامة:
تحدد تحقيقات الحياة وقت إعادة تشغيل أحد التطبيقات. على سبيل المثال، يمكن أن تحدد تحقيقات الحياة حالة توقف تام، مثل وقت تشغيل تطبيق ولكن غير قادر على إحراز تقدم. يمكن أن تجعل إعادة تشغيل التطبيق في حالة توقف تام التطبيق متاحا على الرغم من الأخطاء.
تحدد فحوصات الجاهزية متى يكون مثيل التطبيق جاهزا لبدء قبول نسبة استخدام الشبكة. على سبيل المثال، يمكن لفحوصات الجاهزية التحكم في مثيلات التطبيق التي يتم استخدامها كخلفيات للتطبيق. عندما لا يكون مثيل التطبيق جاهزا، تتم إزالته من اكتشاف خدمة Kubernetes. لمزيد من المعلومات، راجع اكتشاف تطبيقات Spring Boot وتسجيلها. لمزيد من المعلومات حول اكتشاف الخدمة باستخدام خطة المؤسسة، راجع استخدام سجل خدمة Tanzu.
تحدد تحقيقات بدء التشغيل وقت بدء تشغيل تطبيق. يعطل فحص بدء التشغيل عمليات التحقق من الحياة والجاهزية حتى تنجح بدء التشغيل، ما يضمن عدم تداخل تحقيقات الحياة والجهوزية مع بدء تشغيل التطبيق. يمكنك استخدام تحقيقات بدء التشغيل لإجراء عمليات التحقق من الحياة على تطبيقات البدء البطيئة، ما يمنع التطبيق من الإنهاء قبل تشغيله.
Azure CLI مع ملحق Azure Spring Apps. استخدم الأمر التالي لإزالة الإصدارات السابقة وتثبيت أحدث ملحق. إذا قمت مسبقا بتثبيت ملحق spring-cloud، قم بإلغاء تثبيته لتجنب عدم تطابق التكوين والإصدار.
az extension remove --name spring
az extension add --name spring
az extension remove --name spring-cloud
تصف الأقسام التالية كيفية تكوين فحوصات السلامة والإنهاء بأمان باستخدام Azure CLI.
يصف الجدول التالي الخاصية terminationGracePeriodSeconds
، والتي يمكنك استخدامها لتكوين الإنهاء بأمان.
اسم الخاصية | الوصف |
---|---|
terminationGracePeriodSeconds |
ترسل المدة بالثوان بعد العمليات التي تعمل في مثيل التطبيق إشارة إنهاء قبل إيقافها قسرا. قم بتعيين هذه القيمة لفترة أطول من وقت التنظيف المتوقع للعملية. يجب أن تكون القيمة عددا صحيحا غير سالب. يؤدي تعيين فترة السماح إلى 0 إلى إيقاف مثيل التطبيق على الفور عبر إشارة الإيقاف، مع عدم وجود فرصة لإيقاف التشغيل. إذا كانت القيمة لا قيمة لها، فإن Azure Spring Apps تستخدم فترة السماح الافتراضية. القيمة الافتراضية هي 90. |
يصف الجدول التالي الخصائص التي يمكنك استخدامها لتكوين فحوصات السلامة.
اسم الخاصية | الوصف |
---|---|
initialDelaySeconds |
عدد الثوان بعد بدء مثيل التطبيق قبل بدء الفحوصات. القيمة الافتراضية هي 0، الحد الأدنى للقيمة. |
periodSeconds |
التردد بالثوان لإجراء الفحص. القيمة الافتراضية هي 10. الحد الأدنى للقيمة هو 1. |
timeoutSeconds |
عدد الثوان حتى انقضاء مهلة الفحص. القيمة الافتراضية هي 1، الحد الأدنى للقيمة. |
failureThreshold |
الحد الأدنى لعدد حالات الفشل المتتالية للمسبار الذي سيتم اعتباره فاشلا بعد نجاحه. القيمة الافتراضية هي 3. الحد الأدنى للقيمة هو 1. |
successThreshold |
الحد الأدنى لعدد النجاحات المتتالية للمسبار ليتم اعتباره ناجحا بعد فشله. القيمة الافتراضية هي 1. يجب أن تكون القيمة 1 للحيوية وبدء التشغيل. الحد الأدنى للقيمة هو 1. |
هناك ثلاث طرق يمكنك من خلالها التحقق من مثيل التطبيق باستخدام مسبار. يجب أن يحدد كل مسبار أحد إجراءات الفحص التالية:
HTTPGetAction
تنفيذ طلب HTTP GET مقابل مثيل التطبيق على مسار محدد. يعتبر التشخيص ناجحا إذا كانت الاستجابة تحتوي على رمز حالة أكبر من أو يساوي 200 وأقل من 400.
اسم الخاصية | الوصف |
---|---|
scheme |
المخطط الذي يجب استخدامه للاتصال بالمضيف. الإعداد الافتراضي هو HTTP. |
path |
مسار الوصول على خادم HTTP لمثيل التطبيق، مثل /healthz. |
ExecAction
تنفيذ أمر محدد داخل مثيل التطبيق. يعتبر التشخيص ناجحا إذا خرج الأمر برمز الحالة 0.
اسم الخاصية | الوصف |
---|---|
command |
الأمر الذي يجب تنفيذه داخل مثيل التطبيق. دليل العمل للأمر هو الدليل الجذر (/) في نظام ملفات مثيل التطبيق. لأن الأمر يتم تشغيله باستخدام exec بدلا من داخل shell، لن تعمل تعليمات shell. لاستخدام shell، قم باستدعاء shell بشكل صريح. يتم التعامل مع حالة الخروج من 0 على أنها حية/سليمة، وغير صفرية غير صحية. |
TCPSocketAction
إجراء فحص TCP مقابل مثيل التطبيق.
لا توجد خصائص متوفرة للإجراء TCPSocketAction
.
استخدم الخطوات التالية لتخصيص التطبيق الخاص بك باستخدام مدخل Microsoft Azure.
استخدم أفضل الممارسات التالية عند إضافة تحقيقات السلامة إلى Azure Spring Apps:
استخدم فحوصات الحياة والجاهزية معا. توفر Azure Spring Apps نهجين لاكتشاف الخدمة في نفس الوقت. عند فشل فحص الجاهزية، تتم إزالة مثيل التطبيق فقط من اكتشاف خدمة Kubernetes. يمكن لفحص الحياة الذي تم تكوينه بشكل صحيح إزالة مثيل التطبيق الصادر من اكتشاف خدمة يوريكا لتجنب الحالات غير المتوقعة. لمزيد من المعلومات حول اكتشاف الخدمة، راجع اكتشاف تطبيقات Spring Boot وتسجيلها. لمزيد من المعلومات حول اكتشاف الخدمة باستخدام خطة المؤسسة، راجع استخدام سجل خدمة Tanzu.
عند بدء تشغيل مثيل تطبيق، يحدث الفحص الأول بعد التأخير المحدد بواسطة initialDelaySeconds
. تحدث الفحوصات اللاحقة بشكل دوري، وفقا لطول الفترة المحددة بواسطة periodSeconds
. إذا فشل التطبيق في الاستجابة للطلبات عدة مرات كما هو محدد بواسطة failureThreshold
، تتم إعادة تشغيل مثيل التطبيق. تأكد من أن التطبيق الخاص بك يمكن أن يبدأ بسرعة كافية، أو تحديث هذه المعلمات، بحيث يكون إجمالي المهلة initialDelaySeconds + periodSeconds * failureThreshold
أطول من وقت بدء التطبيق الخاص بك.
بالنسبة لتطبيقات Spring Boot، يتم شحن Spring Boot مع دعم المجموعات الصحية، ما يسمح للمطورين بتحديد مجموعة فرعية من المؤشرات الصحية وتجميعها ضمن حالة صحية واحدة مترابطة. لمزيد من المعلومات، راجع تحقيقات الحياة والجاهزية مع Spring Boot على مدونة Spring.
يوضح المثال التالي مسبار فعالية مع Spring Boot:
"probe": {
"initialDelaySeconds": 30,
"periodSeconds": 10,
"timeoutSeconds": 1,
"failureThreshold": 30,
"successThreshold": 1,
"probeAction": {
"type": "HTTPGetAction",
"scheme": "HTTP",
"path": "/actuator/health/liveness"
}
}
يوضح المثال التالي فحص الاستعداد مع Spring Boot:
"probe": {
"initialDelaySeconds": 0,
"periodSeconds": 10,
"timeoutSeconds": 1,
"failureThreshold": 3,
"successThreshold": 1,
"probeAction": {
"type": "HTTPGetAction",
"scheme": "HTTP",
"path": "/actuator/health/readiness"
}
}
يوفر هذا القسم إجابات على الأسئلة المتداولة حول استخدام تحقيقات السلامة مع Azure Spring Apps.
تلقيت استجابة 400 عندما أنشأت تطبيقات مع تحقيقات صحية مخصصة. ما معنى ذلك؟
تشير رسالة الخطأ إلى المسبار المسؤول عن فشل التوفير. تأكد من صحة قواعد فحص السلامة وأن المهلة طويلة بما يكفي للتطبيق ليكون في حالة التشغيل.
ما هي إعدادات الفحص الافتراضية لتطبيق موجود؟
يوضح المثال التالي الإعدادات الافتراضية:
"startupProbe": null,
"livenessProbe": {
"disableProbe": false,
"failureThreshold": 3,
"initialDelaySeconds": 300,
"periodSeconds": 10,
"probeAction": {
"type": "TCPSocketAction"
},
"successThreshold": 1,
"timeoutSeconds": 3
},
"readinessProbe": {
"disableProbe": false,
"failureThreshold": 3,
"initialDelaySeconds": 0,
"periodSeconds": 5,
"probeAction": {
"type": "TCPSocketAction"
},
"successThreshold": 1,
"timeoutSeconds": 3
}
حدث
إنشاء تطبيقات ووكلاء الذكاء الاصطناعي
١٧ رمضان، ٩ م - ٢١ رمضان، ١٠ ص
انضم إلى سلسلة الاجتماعات لإنشاء حلول الذكاء الاصطناعي قابلة للتطوير استنادا إلى حالات الاستخدام في العالم الحقيقي مع المطورين والخبراء الآخرين.
تسجيل الآنالتدريب
مسار التعلم
Bonnes pratiques relatives aux applications Java sur Azure - Training
Commencez ici et découvrez comment monitorer, automatiser, ajuster, mettre à l’échelle automatiquement, sécuriser et créer des applications Java sur Azure. Vous pouvez comme toujours utiliser les outils et les frameworks que vous connaissez et appréciez : Spring, Tomcat, WildFly, JBoss, WebLogic, WebSphere, Maven, Gradle, IntelliJ, Eclipse, Jenkins, Terraform, etc.
الوثائق
Sondes d’intégrité dans Azure Container Apps
Vérifier le démarrage, l’activité et l’état d’avancement avec les sondes d’intégrité d’Azure Container Apps
Métriques et journaux d’activité dans Azure Container Apps
Décrit comment surveiller une application dans Azure Container Apps.
Résoudre les problèmes de sonde d'intégrité dans Azure Container Apps
Découvrez comment résoudre les problèmes de sonde d'intégrité dans Azure Container Apps