إعداد خلفية Service Fabric في APIM باستخدام مدخل Microsoft Azure

توضح هذه المقالة طريقة تهيئة خدمة "نسيج الخدمة" كواجهة خلفية API مخصصة باستخدام مدخل Azure. لأغراض العرض التوضيحي، فإنها توضح طريقة إعداد خدمة موثوق بها لنواة عديمي الحالة ASP.NET الأساسية كواجهة خلفية "نسيج الخدمة".

للحصول على خلفية، راجع الواجهة الخلفية في إدارة API.

المتطلبات الأساسية

تقوم المتطلبات الأساسية لتهيئة خدمة بسيطة في كتلة "نسيج الخدمة" بتشغيل Windows كواجهة خلفية مخصصة:

  • بيئة التطوير في Windows - تثبيت حجم عمل Visual Studio 2019 وتطويرAzure وASP.NET وتطوير الويب وتطوير النظام الأساسي لنواة .NET. ثم إعداد بيئة تطوير .NET.

  • مجموعة «نسيج الخدمة» - انظربرنامج تعليمي: نشر كتلة نسيج الخدمة قيد التشغيل Windows في شبكة Azure الظاهرية . يمكنك إنشاء مجموعة مع شهادة X.509 موجودة أو لأغراض الاختبار، قم بإنشاء شهادة جديدة موقعة ذاتيًا. يتم إنشاء المجموعة في شبكة اتصال ظاهرية.

  • نموذج تطبيق نسيج الخدمة - إنشاء تطبيق واجهة برمجة التطبيقات على الويب ونشرها على مجموعة نسيج الخدمة كما هو موضح في دمج إدارة واجهة برمجة التطبيقات مع نسيج الخدمة في Azure.

    تقوم هذه الخطوات بإنشاء خدمة أساسية لنواة ASP.NET عديمي الحالة باستخدام قالب افتراضي مشروع واجهة برمجة التطبيقات على الويب. يمكنك فيما بعد عرض نقطة نهاية HTTP لهذه الخدمة من خلال إدارة API Azure.

    سجل اسم التطبيق، على سبيل المثال fabric:/myApplication/myService.

  • مثيل إدارة واجهة برمجة التطبيقات - مثيل إدارة واجهة برمجة التطبيقات موجود أو جديد في طبقة Premium أو المطور وفي نفس المنطقة مثل مجموعة "نسيج الخدمة". إذا أردت الحصول على واحدة، قم بـإنشاء مثيل إدارة واجهة برمجة التطبيقات.

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

    لمعرفة الخطوات اللازمة لتمكين اتصال الشبكة الظاهرية لمثيل إدارة API، راجعطريقة استخدام إدارة API Azure مع الشبكات الظاهرية.

إنشاء خلفية - مدخل

إضافة شهادة مجموعة نسيج الخدمة إلى إدارة API

يتم تخزين شهادة مجموعة "نسيج الخدمة" وإدارتها في مخزن Azure الرئيسي المقترن بالمجموعة. إضافة هذه الشهادة إلى مثيل إدارة API كشهادة خاصة بعميل.

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

إشعار

نوصي بإضافة الشهادة إلى إدارة API عن طريق الرجوع إلى شهادة المخزن الرئيسي.

إضافة خلفية نسيج الخدمة

  1. في مدخل Azure، انتقل إلى مثيل API Management الخاص بك.

  2. ضمن واجهات برمجة التطبيقات، اختر«الخلفيات»> «+ إضافة».

  3. إدخال اسم خلفية ووصف اختياري

  4. في النوع، اختر«نسيج الخدمة».

  5. في عنوان URL لوقت التشغيل، أدخل اسم خدمة الخلفية "نسيج الخدمة" التي ستقوم إدارة API بإعادة توجيه الطلبات إليها. مثال:fabric:/myApplication/myService.

  6. في الحد الأقصى لعدد مرات إعادة تعيين دقة القسم، أدخل رقمًا بين 0 و10.

  7. أدخل نقطة نهاية إدارة مجموعة "نسيج الخدمة". نقطة النهاية هذه هي عنوان URL للمجموعة على منفذ 19080، على سبيل المثال، https://mysfcluster.eastus.cloudapp.azure.com:19080.

  8. في شهادة العميل، حدد شهادة مجموعة "نسيج الخدمة" التي قمت بإضافتها إلى مثيل إدارة API في المقطع السابق.

  9. فيطريقة تخويل نقطة نهاية الإدارة، أدخل البصمة أو اسم خادم X509 لشهادة تستخدمها خدمة إدارة مجموعة «نسيج الخدمة» لاتصال TLS.

  10. قم بتمكين سلسلة الشهادات التحقق من صحة وتحقق من صحة إعدادات اسم الشهادة.

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

  12. حدد إنشاء.

    إنشاء مجموعة «نسيج الخدمة»

استخدام الواجهة الخلفية

لاستخدام خلفية مخصصة، قم بإشارتها باستخدام نهج set-backend-service. يحول هذا النهج عنوان URL الأساسي لخدمة الخلفية الافتراضي الخاص بطلب API وارد، إلى خلفية محددة، وفي هذه الحالة يُقصد خلفية "نسيج الخدمة".

يمكن أن يكون نهج set-backend-service مفيدا مع واجهة برمجة تطبيقات موجودة لتحويل طلب وارد إلى خلفية مختلفة عن تلك المحددة في إعدادات API. لأغراض العرض التوضيحي في هذه المقالة، قم بإنشاء اختبار لواجهة برمجة تطبيقات وقم بتعيين النهج لتوجيه طلبات واجهة برمجة التطبيقات إلى خلفية "نسيج الخدمة".

إنشاء واجهة برمجة تطبيقات

اتبع الخطوات الموجودة في «إضافة API يدوياً» لإنشاء واجهة برمجة تطبيقات فارغة.

  • في إعدادات API، اترك «عنوان URL لخدمة ويب» فارغًا.

  • قم بإضافة «لاحقة عنوان URL API»، مثل النسيج.

    Create blank API

إضافة عملية GET إلى واجهة برمجة التطبيقات

كما هو موضح في نشر خدمة نهاية خلفية لـ "نسيج الخدمة"، تدعم عينة خدمة نواة ASP.NET التي تم نشرها على مجموعة "نسيج الخدمة" عملية HTTP GET واحدة على مسار URL /api/values.

الاستجابة الافتراضية على هذا المسار مصفوفة JSON لسلسلتين:

["value1", "value2"]

لاختبار تكامل إدارة API مع المجموعة، قم بإضافة عملية GET المطابقة إلى API على المسار /api/values:

  1. تحديد واجهة برمجة التطبيقات التي أنشأتها في الخطوة السابقة.

  2. تحديد + Add Operation.

  3. في نافذة الواجهة الأمامية، قم بإدخال القيم التالية، واختر «حفظ».

    الإعداد القيمة
    ‏‫اسم العرض‬ اختبار الخلفية
    عنوان URL GET
    عنوان URL /api/values

    إضافة عملية GET إلى واجهة برمجة التطبيقات

تهيئة نهج set-backend-service

إضافة نهج set-backend-service إلى اختبار API .

  1. في علامة التبويب تصميم، في قسم معالجة، اختر أيقونة محرر التعليمات البرمجية (</>).

  2. وضع المؤشر داخل العنصر < الوارد >

  3. أضف كشف نهج set-service-backend.

    • في backend-id، استبدل اسم الخلفية "نسيج الخدمة".

    • يعد sf-resolve-condition شرطًا لإعادة حل موقع خدمة وإعادة إرسال طلب. تم تعيين عدد مرات إعادة المحاولة عند تهيئة الخلفية. على سبيل المثال:

      <set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
      
  4. حدد حفظ.

    تهيئة نهج خدمة خلفية المجموعة

إشعار

إذا انخفضت عقدة واحدة أو أكثر في مجموعة Service Fabric أو تمت إزالتها، فلن تتلقى APIM إعلامًا تلقائيًا وتستمر في إرسال نسبة استخدام الشبكة إلى هذه العقد. لمعالجة هذه الحالات، قم بتكوين حالة حل مشابهة لـ: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"

اختبار واجهة برمجة التطبيقات الخلفية

  1. في علامة تبويب «اختبار»، اختر عملية GET التي قمت بإنشائها في مقطع سابق.

  2. حدد إرسال.

    عند تهيئتها بشكل صحيح، تبين استجابة HTTP رمز نجاح HTTP وتعرض JSON التي تم إرجاعها من خدمة "نسيج الخدمة" للخلفية.

    تهيئة خلفية نسيج الخدمة