إنشاء تطبيق "تصميم الخدمة" من 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) الخاصة بتطبيق "تصميم الخدمة" للحصول على إرشادات مفصلة.
يمكن العثور على معلمات هذه الأوامر في البيانات التي تم إنشاؤها داخل حزمة التطبيق.
بمجرد توزيع التطبيق، افتح متصفحاً وانتقل إلى مستكشف "تصميم الخدمة" على 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 /homecd myactorsvcTestClient watch -n 1 ./testclient.shفي مستكشف "تصميم الخدمة"، حدد موقع العقدة التي تستضيف النسخة المتماثلة الأساسية لخدمة المستخدم. في لقطة الشاشة أدناه، هي العقدة 3.

انقر على العقدة التي عثرت عليها في الخطوة السابقة، ثم حدد إلغاء التنشيط (إعادة التشغيل) من قائمة الإجراءات. يقوم هذا الإجراء بإعادة تشغيل عقدة واحدة في نظام المجموعة المحلي الخاص بك مما يفرض تجاوز الفشل إلى نسخة متماثلة ثانوية تعمل على عقدة أخرى. أثناء تنفيذ هذا الإجراء، انتبه إلى الإخراج من عميل الاختبار ولاحظ أن العداد يستمر في الزيادة على الرغم من تجاوز الفشل.
إضافة المزيد من الخدمات إلى تطبيق حالي
لإضافة خدمة أخرى إلى تطبيق تم إنشاؤه بالفعل باستخدام yo، نفذ الخطوات التالية:
- تغيير الدليل إلى جذر خاص بالتطبيق الموجود. على سبيل المثال،
cd ~/YeomanSamples/MyApplication، إذا كانMyApplicationهو التطبيق الذي أنشأه Yeoman. - شغّل
yo azuresfcsharp:AddService