إنشاء تطبيق "تصميم الخدمة" من Azure لأول مرة
يوفر "تصميم الخدمة"Fabric مجموعات SDK لبناء الخدمات على Linux في كل من .NET Core و Java. في هذا البرنامج التعليمي، نلقي نظرة على كيفية إنشاء تطبيق لنظام التشغيل Linux وإنشاء خدمة باستخدام C# على .NET Core 2.0.
المتطلبات الأساسية
قبل البدء، تأكد من إعداد بيئة تطوير Linux. إذا كنت تستخدم نظام التشغيل Mac OS X، فيمكنك إعداد بيئة Linux أحادية الصندوق في جهاز ظاهري باستخدام Vagrant.
ستحتاج أيضاً إلى تثبيت CLI تصميم الخدمة
تركيب وإعداد المنشآت لـ C#
يوفر "تصميم الخدمة" أدوات التدعيم التي تساعدك على إنشاء تطبيقات "تصميم الخدمة" من محطة طرفية باستخدام منشآت قالب Yeoman. اتبع الخطوات التالية لإعداد منشآت قالب Yeoman لـ "تصميم الخدمة" من أجل C#:
قم بتثبيت nodejs وNPM على جهازك
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash nvm install node
تثبيت مُنشئ قالب Yeoman على جهازك من NPM
npm install -g yo
تثبيت مُنشئ تطبيق Yeoman C# للتطبيق "تصميم الخدمة" من NPM
npm install -g generator-azuresfcsharp
قم بإنشاء التطبيق
يمكن أن يحتوي تطبيق "تصميم الخدمة" على خدمة واحدة أو أكثر، لكل منها دور محدد في تقديم وظائف التطبيق. يعمل مُنشئ Yeoman للتطبيق "تصميم الخدمة" لـ C#، الذي قمت بتثبيته في الخطوة الأخيرة، على تسهيل إنشاء خدمتك الأولى وإضافة المزيد لاحقاً. دعونا نستخدم Yeoman لإنشاء تطبيق مع خدمة واحدة.
في محطة طرفية، اكتب الأمر التالي لبدء إنشاء التدعيم:
yo azuresfcsharp
قم بتسمية تطبيقك.
اختر نوع خدمتك الأولى وبادر بتسميتها. لأغراض هذا البرنامج التعليمي، نختار خدمة مستخدم موثوقة.
إشعار
لمزيد من المعلومات حول الخيارات، راجع نظرة عامة على نموذج برمجة "تصميم الخدمة".
إنشاء التطبيق
تتضمن قوالب Yeoman لتطبيق "تصميم الخدمة" نصاً برمجياً للإنشاء يمكنك استخدامه لإنشاء التطبيق من المحطة الطرفية (بعد الانتقال إلى مجلد التطبيق).
cd myapp
./build.sh
قم بنشر التطبيق
بمجرد إنشاء التطبيق، يمكنك توزيعه في الكتلة المحلية.
قم بالاتصال بمجموعة "تصميم الخدمة" المحلية.
sfctl cluster select --endpoint http://localhost:19080
قم بتشغيل نص التثبيت المتوفر في القالب لنسخ حزمة التطبيق إلى مخزن صور المجموعة، وتسجيل نوع التطبيق، وإنشاء مثيل للتطبيق.
./install.sh
يعد توزيع التطبيق المنشأ هو نفسه مثل أي تطبيق "تصميم الخدمة" آخر. راجع الوثائق الخاصة بإدارة تطبيق "تصميم الخدمة" باستخدام واجهة سطر الأوامر (CLI) الخاصة بتطبيق "تصميم الخدمة" للحصول على إرشادات مفصلة.
يمكن العثور على معلمات هذه الأوامر في البيانات التي تم إنشاؤها داخل حزمة التطبيق.
بمجرد توزيع التطبيق، افتح متصفحاً وانتقل إلى Service Fabric Explorer على http://localhost:19080/Explorer
. ثم بادر بتوسيع عقدة التطبيقات ولاحظ أنه يوجد الآن إدخال لنوع التطبيق خاصتك وآخر للمثيل الأول من هذا النوع.
هام
لتوزيع التطبيق إلى مجموعة Linux آمنة في Azure، تحتاج إلى تكوين شهادة للتحقق من صحة التطبيق الخاص بك مع وقت تشغيل "تصميم الخدمة". يؤدي القيام بذلك إلى تمكين خدمات الخدمات الموثوقة الخاصة بك من التواصل مع واجهات برمجة تطبيقات وقت تشغيل "تصميم الخدمة" الأساسية. لمعرفة المزيد، راجع تكوين تطبيق خدمات موثوقة للتشغيل على أنظمة مجموعات Linux.
بدء تشغيل عميل الاختبار وإجراء تجاوز الفشل
مشاريع المستخدمين لا تفعل أي شيء من تلقاء نفسها. أنها تتطلب خدمة أخرى أو عميل آخر لإرسال رسائل لهم. يتضمن قالب الجهة الفاعلة برنامجاً نصياً بسيطاً للاختبار يمكنك استخدامه للتفاعل مع خدمة الجهة الفاعلة.
بادر بتشغيل البرنامج النصي باستخدام الأداة المساعدة للمراقبة لرؤية مخرجات خدمة الجهة الفاعلة.
في حالة 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
في مستكشف "تصميم الخدمة"، حدد موقع العقدة التي تستضيف النسخة المتماثلة الأساسية لخدمة المستخدم. في لقطة الشاشة أدناه، هي العقدة 3.
انقر على العقدة التي عثرت عليها في الخطوة السابقة، ثم حدد إلغاء التنشيط (إعادة التشغيل) من قائمة الإجراءات. يقوم هذا الإجراء بإعادة تشغيل عقدة واحدة في نظام المجموعة المحلي الخاص بك مما يفرض تجاوز الفشل إلى نسخة متماثلة ثانوية تعمل على عقدة أخرى. أثناء تنفيذ هذا الإجراء، انتبه إلى الإخراج من عميل الاختبار ولاحظ أن العداد يستمر في الزيادة على الرغم من تجاوز الفشل.
إضافة المزيد من الخدمات إلى تطبيق حالي
لإضافة خدمة أخرى إلى تطبيق تم إنشاؤه بالفعل باستخدام yo
، نفذ الخطوات التالية:
- تغيير الدليل إلى جذر خاص بالتطبيق الموجود. على سبيل المثال،
cd ~/YeomanSamples/MyApplication
، إذا كانMyApplication
هو التطبيق الذي أنشأه Yeoman. - شغّل
yo azuresfcsharp:AddService