نظرة عامة عن مصطلحات Service Fabric

Azure Service Fabric هو نظام أساسي للأنظمة الموزّعة يسهل عملية حزم الخدمات الصغيرة الموثوقة والقابلة للتحجيم وتوزيعها وإدارتها. Service Fabric هو حاوية ومنسق عمليات يسمح لك باستضافة نظام مجموعاتك في أي مكان: على Azure أو في مركز بيانات محلي أو على أي موفر سحابة. يمكنك استخدام أي إطار عمل لكتابة خدماتك واختيار مكان تشغيل التطبيق من خيارات البيئة المتعددة. توضح هذه المقالة بالتفصيل المصطلحات التي يستخدمها Service Fabric لفهم المصطلحات المستخدمة في الوثائق.

توضح مقاطع الفيديو التدريبية ذات الصلة المذكورة أدناه تفاصيل التطبيق والحزم والتوزيع والتجريدات والمصطلحات التي يستخدمها Service Fabric:

مفاهيم البنية الأساسية

نظام المجموعة: هو مجموعة متصلة بالشبكة من الأجهزة الظاهرية أو الفعلية التي تُوزع فيها خدماتك الصغيرة وتُدار. يمكن تغيير حجم نظام المجموعات إلى آلاف الأجهزة.

العقدة: الجهاز أو الجهاز الظاهري الذي يُشكّل جزءاً من نظام مجموعة يٌسمى عقدة. يتم تعيين اسم عقدة (سلسلة) لكل عقدة. العقد لها خصائص، مثل خصائص الموضع. يحتوي كل جهاز أو جهاز ظاهري على خدمة Windows تبدأ التشغيل تلقائياً، FabricHost.exe، والتي تبدأ في التشغيل عند التمهيد ثم تبدأ في تشغيل ملفين تنفيذيين: Fabric.exe وFabricGateway.exe. يُشكل الملفان التنفيذيان العقدة. لاختبار السيناريوهات، يمكنك استضافة عدة عقد على جهاز أو جهاز ظاهري عن طريق تشغيل عدة مثيلات من Fabric.exe وFabricGateway.exe.

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

التطبيق الأصلي لـService Fabric: وصف تطبيق Service Fabric الأصلي بواسطة نموذج التطبيق الأصلي (التطبيق المستند إلى XML وبيانات الخدمة).

مفاهيم التطبيق الأصلي لـService Fabric

التطبيق: التطبيق هو مجموعة من الخدمات المكونة التي تؤدي وظيفة أو وظائف معينة. يمكن إدارة دورة حياة كل مثيل تطبيق بشكل مستقل.

الخدمة: تؤدي الخدمة وظيفة كاملة ومستقلة ويمكن أن تبدأ وتعمل بشكل مستقل عن الخدمات الأخرى. تتكون الخدمة من التعليمات البرمجية والتكوين والبيانات. لكل خدمة، تتكون التعليمات البرمجية من الثنائيات التنفيذية ويتكون التكوين من إعدادات الخدمة التي يمكن تحميلها في وقت التشغيل، وتتكون البيانات من بيانات تحكّمية ثابتة تستهلكها الخدمة.

نوع التطبيق: الاسم/ الإصدار المُعيّن لمجموعة من أنواع الخدمات. يُعرّف في ملف ApplicationManifest.xml ومضمن في دليل حزمة التطبيق. ثم يُنسخ الدليل إلى مخزن الصور الخاص بنظام مجموعة Service Fabric. يمكنك بعد ذلك إنشاء تطبيق مسمى من نوع التطبيق هذا داخل نظام المجموعة.

اقرأ مقالة نموذج التطبيق لمزيد من المعلومات.

حزمة التطبيق : دليل قرص يحتوي على ملف ApplicationManifest.xml لنوع التطبيق. يُشير إلى حزم الخدمة لكل نوع خدمة يُشكل نوع التطبيق. تُنسخ الملفات الموجودة في دليل حزمة التطبيق إلى مخزن الصور الخاص بنظام مجموعة Service Fabric. على سبيل المثال، قد تحتوي حزمة تطبيق لنوع تطبيق عنوان البريد الإلكتروني على مراجع إلى حزمة خدمة قائمة الانتظار وحزمة خدمة الواجهة الأمامية وحزمة خدمة قاعدة بيانات.

التطبيق المسمى: بعد نسخ حزمة تطبيق إلى مخزن الصور، يمكنك إنشاء مثيل للتطبيق داخل نظام المجموعة. يمكنك إنشاء مثيل عند تحديد نوع تطبيق حزمة التطبيق، باستخدام اسمه أو إصداره. يتم تعيين اسم معرف موارد منتظم (URI) لكل مثيل نوع تطبيق يبدو كما يلي: "fabric:/MyNamedApp". ضمن نظام المجموعة، يمكنك إنشاء عدة تطبيقات مسماة من نوع تطبيق واحد. يمكنك أيضاً إنشاء تطبيقات مسماة من أنواع تطبيقات مختلفة. يُدار كل تطبيق مسمى ويُعين إصداره بشكل مستقل.

نوع الخدمة: الاسم/ الإصدار المُعين لحزم التعليمات البرمجية للخدمة وحزم البيانات وحزم التكوين. يُعرف نوع الخدمة في الملف ServiceManifest.xml ويتم تضمينه في دليل حزمة خدمة. يُشار إلى دليل حزمة الخدمة بواسطة ملف ApplicationManifest.xml لحزمة التطبيق. داخل نظام المجموعة، بعد إنشاء تطبيق مسمى، يمكنك إنشاء خدمة مسماة من أحد أنواع خدمات نوع التطبيق. ملف نوع الخدمة ServiceManifest.xml يصف الخدمة.

اقرأ مقالة نموذج التطبيق لمزيد من المعلومات.

هناك نوعان من الخدمات:

  • عديمة الحالة: استخدم خدمة عديمة الحالة عند تخزين الحالة الثابتة المستمرة للخدمة في خدمة تخزين خارجية، مثل Azure Storage أو Azure SQL Database أو Azure Cosmos DB. استخدم خدمة عديمة الحالة عندما لا تحتوي الخدمة على تخزين مستمر. على سبيل المثال، بالنسبة لخدمة الآلة الحاسبة حيث يتم تمرير القيم إلى الخدمة، يستخدم إجراء العملية الحسابية هذه القيم، ثم يتم إرجاع النتيجة.
  • ذات حالة: استخدم خدمة ذات حالة عندما تريد أن يُدير Service Fabric حالة خدمتك عبر مجموعات Reliable أو نماذج برمجة Reliable Actors. عند إنشاء خدمة مسماة، حدد عدد الأقسام التي تريد توزيع حالتك عليها من أجل قابلية التوسع. حدد أيضاً عدد المرات التي يتم فيها النسخ المتماثل لحالتك عبر العقد، للحصول على الوثوقية. تحتوي كل خدمة مسماة على نسخة متماثلة أساسية وعدة نسخ متماثلة ثانوية. يمكنك تعديل حالة الخدمة المسماة عند الكتابة إلى النسخة المتماثلة الأساسية. ثم ينسخ Service Fabric هذه الحالة إلى جميع النسخ المتماثلة الثانوية للحفاظ على مزامنة حالتك. يكتشف Service Fabric تلقائياً فشل النسخة المتماثلة الأساسية ويقوم بترقية نسخة متماثلة ثانوية موجودة إلى نسخة متماثلة أساسية. ثم يُنشئ Service Fabric نسخة متماثلة ثانوية جديدة.

النسخ المتماثلة أو المثيلات يُشير إلى التعليمات البرمجية (والحالة للخدمات ذات الحالة) لخدمة يتم توزيعها وتشغيلها. راجع النسخ المتماثلة والمثيلات.

إعادة التكوين تُشير إلى عملية أي تغيير في مجموعة النسخ المتماثلة للخدمة. راجع إعادة التكوين.

حزمة الخدمة: دليل قرص يحتوي على ملف ServiceManifest.xml لنوع الخدمة. يشير هذا الملف إلى التعليمات البرمجية والبيانات الثابتة وحزم التكوين لنوع الخدمة. يُشار إلى الملفات الموجودة في دليل حزمة الخدمة بواسطة ملف ApplicationManifest.xml لنوع التطبيق. على سبيل المثال، قد تُشير حزمة الخدمة إلى التعليمات البرمجية والبيانات الثابتة وحزم التكوين التي تشكل خدمة قاعدة بيانات.

الخدمة المسماة: بعد إنشاء تطبيق مسمى، يمكنك إنشاء مثيل لأحد أنواع خدماته داخل نظام المجموعة. يمكنك تحديد نوع الخدمة باستخدام اسمها/ إصدارها. يتم تعيين اسم URI لكل مثيل نوع خدمة ضمن URI الخاص بالتطبيق المسمى. على سبيل المثال، إذا أنشأت خدمة مسماة "MyDatabase" داخل تطبيق مسمى "MyNamedApp"، فسيبدو عنوان URI كما يلي: "fabric:/MyNamedApp/MyDatabase". ضمن تطبيق مسمى، يمكنك إنشاء العديد من الخدمات المسماة. يمكن أن يكون لكل خدمة مسماة نظام التقسيم الخاص بها وعدد المثيلات أو النسخ المتماثلة.

حزمة التعليمات البرمجية: دليل قرص يحتوي على الملفات التنفيذية من نوع الخدمة، وعادة ما تكون ملفات EXE/DLL. يُشار إلى الملفات الموجودة في دليل حزمة التعليمات البرمجية بواسطة ملف ServiceManifest.xml لنوع الخدمة. عند إنشاء خدمة مسماة، تُنسخ حزمة التعليمات البرمجية إلى العقدة أو العقد المحددة لتشغيل الخدمة المسماة. ثم يبدأ تشغيل التعليمة البرمجية. هناك نوعان من الملفات التنفيذية لحزمة التعليمات البرمجية:

  • الملفات التنفيذية للضيف: الملفات التنفيذية التي تعمل كما هي على نظام التشغيل المضيف (Windows أو Linux). لا ترتبط هذه الملفات التنفيذية بأي ملفات وقت تشغيل Service Fabric أو تشير إليها، وبالتالي لا تستخدم أي نماذج برمجة Service Fabric. هذه الملفات التنفيذية غير قادرة على استخدام بعض ميزات Service Fabric، مثل خدمة التسمية لاكتشاف نقطة النهاية. لا يمكن للملفات التنفيذية للضيف الإبلاغ عن قياسات التحميل الخاصة بكل مثيل خدمة.
  • الملفات التنفيذية لمضيف الخدمة: الملفات التنفيذية التي تستخدم نماذج برمجة Service Fabric عن طريق الارتباط بملفات وقت تشغيل Service Fabric، ما يُمكّن ميزات Service Fabric. على سبيل المثال، يمكن لمثيل خدمة مسماة تسجيل نقاط النهاية مع خدمة تسمية Service Fabric ويمكنه أيضاً الإبلاغ عن قياسات التحميل.

حزمة البيانات: دليل قرص يحتوي على ملفات البيانات الثابتة للقراءة فقط لنوع الخدمة، وعادة ما تكون ملفات الصور والصوت والفيديو. يُشار إلى الملفات الموجودة في دليل حزمة البيانات بواسطة ملف ServiceManifest.xml لنوع الخدمة. عند إنشاء خدمة مسماة، تُنسخ حزمة البيانات إلى العقدة أو العقد المحددة لتشغيل الخدمة المسماة. يبدأ تشغيل التعليمة البرمجية ويمكنها الآن الوصول إلى ملفات البيانات.

حزمة التكوين: دليل قرص يحتوي على ملفات التكوين الثابتة للقراءة فقط لنوع الخدمة، وعادة ما تكون ملفات نصية. يُشار إلى الملفات الموجودة في دليل حزمة التكوين بواسطة ملف ServiceManifest.xml لنوع الخدمة. عند إنشاء خدمة مسماة، تُنسخ الملفات الموجودة في حزمة التكوين إلى عقد أو أكثر محددة لتشغيل الخدمة المسماة. ثم يبدأ تشغيل التعليمة البرمجية ويمكنها الآن الوصول إلى ملفات التكوين.

الحاويات: بشكل افتراضي، يقوم Service Fabric بتوزيع الخدمات وتنشيطها كعمليات. يمكن لـService Fabric أيضاً توزيع الخدمات في صور الحاويات. الحاويات هي تقنية ظاهرية تُجرد نظام التشغيل الأساسي من التطبيقات. يعمل التطبيق ووقت تشغيله وتبعياته ومكتبات النظام داخل حاوية. تتمتع الحاوية بوصول كامل وخاص إلى العرض المعزول الخاص بالحاوية لبنيات نظام التشغيل. يدعم Service Fabric حاويات Windows Server وحاويات Docker على Linux. لمزيد من المعلومات، اقرأ Service Fabric والحاويات.

نظام التقسيم: عند إنشاء خدمة مسماة، يمكنك تحديد نظام التقسيم. تُقسم الخدمات التي تحتوي على كميات كبيرة من الحالة البيانات عبر الأقسام، ما يؤدي إلى نشر الحالة عبر عقد نظام المجموعة. من خلال تقسيم البيانات عبر الأقسام، يمكن تغيير حجم حالة الخدمة المسماة. داخل القسم، تحتوي الخدمات المسماة عديمة الحالة على مثيلات، في حين أن الخدمات المسماة ذات الحالة لها نسخ متماثلة. عادة ما تحتوي الخدمات المسماة عديمة الحالة على قسم واحد فقط، لأنه ليس لديها حالة داخلية. توفر مثيلات القسم التوفر. في حالة فشل مثيل واحد، تستمر المثيلات الأخرى في العمل بشكل طبيعي، ثم يُنشئ Service Fabric مثيلاً جديداً. تحافظ الخدمات المسماة ذات الحالة على حالتها داخل النسخ المتماثلة ويحتوي كل قسم على مجموعة النسخ المتماثلة الخاصة به بحيث يتم الاحتفاظ بحالة متزامنة. في حالة فشل نسخة متماثلة، يُنشئ Service Fabric نسخة متماثلة جديدة من النسخ المتماثلة الموجودة.

اقرأ مقالة خدمات Reliable Services وخدمة القسم Partition في Fabric للحصول على مزيد من المعلومات.

خدمات النظام

هناك خدمات النظام التي يتم إنشاؤها في كل نظام مجموعة توفر إمكانات النظام الأساسي لـService Fabric.

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

اقرأ الاتصال بالخدمات للحصول على مزيد من المعلومات عن واجهات برمجة تطبيقات اتصالات العميل والخدمة التي تعمل مع خدمة التسمية.

خدمة مخزن الصور: يحتوي كل نظام مجموعة Service Fabric على خدمة مخزن الصور حيث يتم الاحتفاظ بحزم التطبيقات الموزعة والمُعين لها إصدار. انسخ حزمة تطبيق إلى مخزن الصور ثم سجل نوع التطبيق الموجود ضمن حزمة التطبيق هذه. بعد توفير نوع التطبيق، يمكنك إنشاء تطبيق مسمى منه. يمكنك إلغاء تسجيل نوع تطبيق من خدمة مخزن الصور بعد حذف جميع تطبيقاته المسماة.

اقرأ إعداد فهم ImageStoreConnectionString للحصول على مزيد من المعلومات عن خدمة مخزن الصور.

مقالة توزيع تطبيق للحصول على مزيد من المعلومات عن توزيع التطبيقات إلى خدمة مخزن الصور.

خدمة إدارة تجاوز الفشل: يحتوي كل نظام مجموعة Service Fabric على خدمة "إدارة تجاوز الفشل" المسؤولة عن الإجراءات التالية:

  • تؤدي وظائف تتعلق بقابلية وصول عالية واتساق الخدمات.
  • تنسيق ترقيات التطبيقات ونظام المجموعات.
  • تتفاعل مع مكونات النظام الأخرى.

خدمة إدارة الإصلاح: هذه خدمة نظام اختيارية تسمح بتنفيذ إجراءات الإصلاح على نظام المجموعة بطريقة آمنة وتلقائية وشفافة. تُستخدم إدارة الإصلاح في:

نماذج التوزيع والتطبيق

لتوزيع خدماتك، تحتاج إلى وصف كيفية تشغيلها. يدعم Service Fabric ثلاثة نماذج توزيع مختلفة:

النموذج الأصلي

يوفر نموذج التطبيق الأصلي لتطبيقاتك وصولاً كاملاً منخفض المستوى إلى Service Fabric. تُعرّف التطبيقات والخدمات كأنواع مسجلة في ملفات بيان XML.

يدعم النموذج الأصلي أطر عمل Reliable Services وReliable Actors والتي توفر الوصول إلى واجهات برمجة تطبيقات وقت تشغيل Service Fabric وواجهات برمجة تطبيقات إدارة نظام المجموعات في C# وJava. يدعم النموذج الأصلي أيضاً الحاويات التحكَمية والملفات التنفيذية.

Reliable Services: واجهة برمجة تطبيقات لبناء خدمات عديمة الحالة وذات حالة. تخزن الخدمات ذات الحالة حالتها في مجموعات Reliable، مثل قاموس أو قائمة انتظار. يمكنك أيضاً توصيل مكدسات الاتصالات المختلفة، مثل واجهة برمجة تطبيقات الويب وWindows Communication Foundation (WCF).

Reliable Actors: واجهة برمجة تطبيقات لبناء عناصر عديمة الحالة وذات حالة من خلال نموذج برمجة المستخدم الافتراضي. هذا النموذج مفيد عندما يكون لديك الكثير من الوحدات المستقلة للعمليات الحسابية أو الحالة. يستخدم هذا النموذج نموذج مؤشر الترابط القائم على الدور، لذلك من الأفضل تجنب التعليمات البرمجية التي تستدعي المستخدمين أو الخدمات الأخرى لأن المستخدم الفردي لا يمكنه معالجة الطلبات الواردة الأخرى حتى يتم الانتهاء من جميع طلباته الصادرة.

يمكنك أيضاً تشغيل تطبيقاتك الحالية على Service Fabric:

الحاويات: يدعم Service Fabric توزيع حاويات Docker على حاويات Linux وWindows Server على Windows Server 2016، إلى جانب دعم وضع عزل Hyper-V. في نموذج تطبيق Service Fabric، تمثل الحاوية مضيف تطبيق يتم فيه تضمين العديد من النسخ المتماثلة للخدمة. يمكن لـService Fabric تشغيل أي حاويات، ويشبه السيناريو سيناريو الملف التنفيذي للضيف، حيث تقوم بحزم تطبيق موجود داخل حاوية. بالإضافة إلى ذلك، يمكنك تشغيل خدمات Service Fabric داخل الحاويات أيضاً.

الملفات التنفيذية للضيف: يمكنك تشغيل أي نوع من التعليمات البرمجية، مثل Node.js أو Python أو Java أو C++ في Azure Service Fabric كخدمة. يشير Service Fabric إلى هذه الأنواع من الخدمات كملفات تنفيذية للضيف، والتي يتم التعامل معها على أنها خدمات عديمة الحالة. تتضمن مزايا تشغيل الملفات التنفيذية للضيف في نظام مجموعة Service Fabric قابلية وصول عالية ومراقبة الصحة وإدارة دورة حياة التطبيق والكثافة المرتفعة وإمكانية الاكتشاف.

اقرأ المقالة اختيار نموذج برمجة لخدمتك للحصول على مزيد من المعلومات.

Docker Compose

Docker Compose يعد جزءاً من مشروع Docker. يوفر Service Fabric دعماً محدوداً لتوزيع التطبيقات باستخدام نموذج Docker Compose.

البيئات

Service Fabric هي تقنية منصة مفتوحة المصدر تعتمد عليها العديد من الخدمات والمنتجات المختلفة. توفر Microsoft الخيارات التالية:

  • Azure Service Fabric: عرض نظام مجموعة Service Fabric المستضافة في Azure. ويوفر التكامل بين Service Fabric والبنية الأساسية لـAzure، إلى جانب إدارة الترقية والتكوين لنظام مجموعات Service Fabric.
  • Service Fabric مستقل: مجموعة من أدوات التثبيت والتكوين لتوزيع نظام مجموعات Service Fabric في أي مكان (محلياً أو على أي موفر سحابة). لا يُدار بواسطة Azure.
  • نظام مجموعة تطوير Service Fabric: توفر تجربة تطوير محلية على Windows أو Linux أو Mac لتطوير تطبيقات Service Fabric.

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

لمعرفة المزيد عن Service Fabric: