سيناريوهات تطبيق Service Fabric

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

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

للحصول على إرشادات التصميم حول بناء التطبيقات، اقرأ بنية الخدمات المصغرة على Azure Service Fabric و أفضل الممارسات لتصميم التطبيقات باستخدام Service Fabric.

فكّر في استخدام النظام الأساسي لـ Service Fabric للأنواع التالية من التطبيقات:

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

    ومن بين العملاء الذين قاموا ببناء خدمات إنترنت الأشياء باستخدام Service Fabric PCL Construction، و Citrix، و ASOS، و Oman Data Park، و Kohler، و Dover Fueling Systems.

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

    من بين العملاء الذين قاموا بإنشاء خدمات الألعاب Next Games. من بين العملاء الذين قاموا ببناء جلسات تفاعلية Honeywell with Hololens.

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

    من بين العملاء الذين قاموا ببناء خدمات سير العمل Zeiss Group و PCL Construction.

  • الحساب على البيانات: يتيح لك Service Fabric إنشاء تطبيقات ذات حالة خاصة تسمح لك بإجراء حساب مكثف للبيانات. يسمح Service Fabric بتنظيم المعالجة (الحساب) والبيانات في التطبيقات.

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

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

    من بين العملاء الذين قاموا ببناء خدمات العملية الحسابية ASOS و CCC.

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

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

دراسات حالة تصميم التطبيقات

يتم نشر دراسات الحالة التي توضح كيفية استخدام Service Fabric لتصميم التطبيقات على قصص العملاء و الخدمات المصغرة في مواقع Azure.

تصميم تطبيقات تتكون من خدمات مصغرة عديمة الحالة وذات حالة خاصة

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

توفر الخدمات ذات الحالة الخاصة في Service Fabric توافرًا عاليًا لجميع أنواع التطبيقات، وليست قواعد البيانات ومخازن البيانات الأخرى فقط. إن هذا تقدم طبيعي. انتقلت التطبيقات بالفعل من استخدام قواعد البيانات الارتباطية البحتة لتوفرها العالي إلى قواعد بيانات NoSQL. يمكن للتطبيقات نفسها إدارة حالتها "الساخنة" وبياناتها داخلها لتحقيق مكاسب إضافية في الأداء دون التضحية بالموثوقية، أو التوافق، أو التوافر.

عندما تقوم بإنشاء تطبيقات تتكون من خدمات مصغرة، عادة ما يكون لديك مجموعة من تطبيقات الويب عديمة الحالة (مثل ASP.NET و Node.js) التي تستدعي خدمات من المستوى المتوسط للأعمال عديمة الحالة وذات الحالة الخاصة. يتم نشر جميع التطبيقات والخدمات في نظام مجموعة Service Fabric نفسه من خلال أوامر نشر Service Fabric. إن كل من هذه الخدمات مستقلة فيما يتعلق بالحجم، والموثوقية، واستخدام الموارد. يحسّن هذا الاستقلال من السرعة والمرونة في التطوير وإدارة دورة الحياة.

تعمل الخدمات المصغرة ذات الحالة الخاصة على تبسيط تصميمات التطبيقات لأنها تزيل الحاجة إلى قوائم الانتظار وذاكرة التخزين المؤقت الإضافية التي كانت مطلوبة تقليديًّا لمعالجة متطلبات التوافر وزمن انتقال التطبيقات عديمة الحالة البحتة. نظرًا لأن الخدمات ذات الحالة الخاصة تتمتع بتوافر عالٍ وزمن انتقال بطيء، فهناك قليل من التفاصيل لإدارتها في تطبيقك.

توضح المخططات التالية الاختلافات بين تصميم تطبيق عديم الحالة وتطبيق ذي حالة خاصة. من خلال الاستفادة من نماذج برمجة الخدمات الموثوقة و الجهات الفاعلة الموثوقة، تقلل الخدمات ذات الحالة الخاصة من تعقيد التطبيق مع تحقيق معدل نقل عالٍ وزمن انتقال منخفض.

فيما يلي مثال على التطبيق الذي يستخدم خدمات عديمة الحالة: Application that uses stateless services

فيما يلي مثال على التطبيق الذي يستخدم خدمات ذات حالة: Application that uses stateful services

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