إنشاء تطبيق "تصميم الخدمة" من Azure لأول مرة

يوفر "تصميم الخدمة"Fabric مجموعات SDK لبناء الخدمات على Linux في كل من .NET Core و Java. في هذا البرنامج التعليمي، نلقي نظرة على كيفية إنشاء تطبيق لنظام التشغيل Linux وإنشاء خدمة باستخدام C# على .NET Core 2.0.

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

قبل البدء، تأكد من إعداد بيئة تطوير Linux. إذا كنت تستخدم نظام التشغيل Mac OS X، فيمكنك إعداد بيئة Linux أحادية الصندوق في جهاز ظاهري باستخدام Vagrant.

ستحتاج أيضاً إلى تثبيت CLI تصميم الخدمة

تركيب وإعداد المنشآت لـ C#‎

يوفر "تصميم الخدمة" أدوات التدعيم التي تساعدك على إنشاء تطبيقات "تصميم الخدمة" من محطة طرفية باستخدام منشآت قالب Yeoman. اتبع الخطوات التالية لإعداد منشآت قالب Yeoman لـ "تصميم الخدمة" من أجل C#‎:

  1. قم بتثبيت nodejs وNPM على جهازك

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash 
    nvm install node 
    
  2. تثبيت مُنشئ قالب Yeoman على جهازك من NPM

    npm install -g yo
    
  3. تثبيت مُنشئ تطبيق Yeoman C# للتطبيق "تصميم الخدمة" من NPM

    npm install -g generator-azuresfcsharp
    

قم بإنشاء التطبيق

يمكن أن يحتوي تطبيق "تصميم الخدمة" على خدمة واحدة أو أكثر، لكل منها دور محدد في تقديم وظائف التطبيق. يعمل مُنشئ Yeoman للتطبيق "تصميم الخدمة" لـ C#، الذي قمت بتثبيته في الخطوة الأخيرة، على تسهيل إنشاء خدمتك الأولى وإضافة المزيد لاحقاً. دعونا نستخدم Yeoman لإنشاء تطبيق مع خدمة واحدة.

  1. في محطة طرفية، اكتب الأمر التالي لبدء إنشاء التدعيم: yo azuresfcsharp

  2. قم بتسمية تطبيقك.

  3. اختر نوع خدمتك الأولى وبادر بتسميتها. لأغراض هذا البرنامج التعليمي، نختار خدمة مستخدم موثوقة.

    مولد Service Fabric Yeoman ل C#

إشعار

لمزيد من المعلومات حول الخيارات، راجع نظرة عامة على نموذج برمجة "تصميم الخدمة".

إنشاء التطبيق

تتضمن قوالب Yeoman لتطبيق "تصميم الخدمة" نصاً برمجياً للإنشاء يمكنك استخدامه لإنشاء التطبيق من المحطة الطرفية (بعد الانتقال إلى مجلد التطبيق).

cd myapp
./build.sh

قم بنشر التطبيق

بمجرد إنشاء التطبيق، يمكنك توزيعه في الكتلة المحلية.

  1. قم بالاتصال بمجموعة "تصميم الخدمة" المحلية.

    sfctl cluster select --endpoint http://localhost:19080
    
  2. قم بتشغيل نص التثبيت المتوفر في القالب لنسخ حزمة التطبيق إلى مخزن صور المجموعة، وتسجيل نوع التطبيق، وإنشاء مثيل للتطبيق.

    ./install.sh
    

يعد توزيع التطبيق المنشأ هو نفسه مثل أي تطبيق "تصميم الخدمة" آخر. راجع الوثائق الخاصة بإدارة تطبيق "تصميم الخدمة" باستخدام واجهة سطر الأوامر (CLI) الخاصة بتطبيق "تصميم الخدمة" للحصول على إرشادات مفصلة.

يمكن العثور على معلمات هذه الأوامر في البيانات التي تم إنشاؤها داخل حزمة التطبيق.

بمجرد توزيع التطبيق، افتح متصفحاً وانتقل إلى Service Fabric Explorer على http://localhost:19080/Explorer. ثم بادر بتوسيع عقدة التطبيقات ولاحظ أنه يوجد الآن إدخال لنوع التطبيق خاصتك وآخر للمثيل الأول من هذا النوع.

هام

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

بدء تشغيل عميل الاختبار وإجراء تجاوز الفشل

مشاريع المستخدمين لا تفعل أي شيء من تلقاء نفسها. أنها تتطلب خدمة أخرى أو عميل آخر لإرسال رسائل لهم. يتضمن قالب الجهة الفاعلة برنامجاً نصياً بسيطاً للاختبار يمكنك استخدامه للتفاعل مع خدمة الجهة الفاعلة.

  1. بادر بتشغيل البرنامج النصي باستخدام الأداة المساعدة للمراقبة لرؤية مخرجات خدمة الجهة الفاعلة.

    في حالة MAC OS X، تحتاج إلى نسخ مجلد myactors vcTestClient إلى نفس الموقع داخل الحاوية عن طريق تشغيل الأوامر الإضافية التالية.

    docker cp  [first-four-digits-of-container-ID]:/home
    docker exec -it [first-four-digits-of-container-ID] /bin/bash
    cd /home
    
    cd myactorsvcTestClient
    watch -n 1 ./testclient.sh
    
  2. في مستكشف "تصميم الخدمة"، حدد موقع العقدة التي تستضيف النسخة المتماثلة الأساسية لخدمة المستخدم. في لقطة الشاشة أدناه، هي العقدة 3.

    البحث عن النسخة المتماثلة الأساسية في Service Fabric Explorer

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

إضافة المزيد من الخدمات إلى تطبيق حالي

لإضافة خدمة أخرى إلى تطبيق تم إنشاؤه بالفعل باستخدام yo، نفذ الخطوات التالية:

  1. تغيير الدليل إلى جذر خاص بالتطبيق الموجود. على سبيل المثال، cd ~/YeomanSamples/MyApplication، إذا كان MyApplication هو التطبيق الذي أنشأه Yeoman.
  2. شغّل yo azuresfcsharp:AddService

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