ما هي أنماط Saga في AWS؟

Ma Hy Anmat Saga Fy Aws



يتم ترحيل التطبيقات نحو البنى والخدمات المصغرة الموزعة. يسبب مشاكل في الحفاظ على البيانات وإدارة المعاملات المعقدة. تقدم أنماط الملحمة حلاً فعالاً. توفر Amazon Web Services (AWS) العديد من الأدوات والخدمات التي تجعل تنفيذ أنماط Saga أمرًا بسيطًا. يضمن إدارة معاملات سلسة عبر التطبيقات الموزعة.

تشرح هذه المقالة أنماط الملحمة ومكوناتها وخدمات AWS المدعومة وفوائدها.







ما هي أنماط Saga في AWS؟

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



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







دعونا نتعرف على مكوناته الرئيسية:

ما مكونات أنماط Saga في AWS؟

يتطلب حل الخدمات المصغرة الكامل عدة خدمات في بنية موزعة. يحتوي نمط الملحمة على بعض المكونات الأساسية ، مثل:



  • خطوة ساغا
  • ساغا أوركستراتور
  • تعويض

دعونا نناقش هذه المكونات بإيجاز.

خطوة ساغا

خطوات Saga هي عمليات أو مهام خدمة مصغرة يتم إجراؤها كجزء من المعاملات الموزعة التي ليس لها آثار جانبية سلبية. تتكرر عدة مرات ولا تحدث آثار جانبية من خلال الإعدام المتكرر.

ساغا أوركستراتور

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

تعويض

عند مواجهة خطأ أثناء عملية الملحمة ، يتخذ منسقها إجراءات سريعة وحاسمة لتغيير التعديلات التي أدخلتها الخطوات السابقة. هذا يضمن أن النظام يحافظ على النظام حتى في حالة حدوث أخطاء.

كانت هذه هي المكونات الأساسية لنمط الملحمة. دعونا نناقش خدمات AWS التي تدعم أنماط الملحمة.

ما هي أنماط الخدمات المدعومة الملحمية في AWS؟

هذه هي الخدمات التي تقدمها أمازون والتي تتبع أنماط الملحمة:

  • وظائف خطوة AWS
  • AWS Lambda
  • أمازون دينامو دي بي
  • أمازون SNS و SQS
  • بوابة أمازون API
  • AWS CDK
  • AWS SAM

وظائف خطوة AWS

Amazon Web Services Step Functions هي خدمة مُدارة بالكامل مصممة لتسهيل سير العمل وإدارة الخدمات المصغرة من خلال تزويد المطورين بأجهزة الحالة التي تمثل آلات الحالة المعقدة (أنماط الملحمة). يمكن للمطورين تصميم المعاملات الموزعة من خلال استخدام وظائف الخطوة أثناء تنظيمها بشكل فعال.

AWS Lambda

تتيح خدمة الكمبيوتر Lambda بدون خادم من Amazon Web Services للمطورين تشغيل التعليمات البرمجية دون إدارة الخوادم مباشرة. يجعل أنماط الملحمة ممكنة عن طريق إنشاء وظائف Lambda التي تمثل كل خطوة على مستوى الجذر. يمكن للمطورين الذين يستخدمون وظائف Lambda لتمثيل الخطوات استخدامها بفعالية عند تمثيل خطوات الملحمة الفردية من خلال Lambdas.

أمازون دينامو دي بي

Amazon DynamoDB هي خدمة قاعدة بيانات NoSQL بواسطة AWS وتتم إدارتها بالكامل. يوفر خيارات تخزين بيانات يمكن الاعتماد عليها. يمكن لمنسقي Saga الاستفادة من DynamoDB لتتبع المعاملات الموزعة أثناء تقدمها.

أمازون SNS و SQS

لإنشاء اتصال مدفوع بالأحداث بين الخدمات المصغرة Amazon Simple Notification Service (SNS) وخدمة Simple Queue Service (SQS) ، يتم دمجها. تستخدم خطوات Saga هذه الخدمات لنشر الرسائل إلى خدمات مصغرة أخرى بعد إجراء عمليات محددة. تقوم هذه الخدمات بعد ذلك بإخطار الخدمات المصغرة الأخرى بحالة الإكمال وتحديثات الحالة.

بوابة أمازون API

Amazon API Gateway هي خدمة سحابية تقدمها Amazon لإنشاء واجهات برمجة التطبيقات ونشرها وإدارتها. يمكن تحجيم واجهات برمجة التطبيقات هذه إلى أي مستوى مرغوب. تعمل هذه الخدمة على توصيل المستخدم بـ AWS Lambda. ترتبط Lambda أيضًا بوظائف الخطوة التي تتبع أنماط الملحمة.

AWS CDK

AWS Cloud Development Kit (CDK) عبارة عن إطار عمل وأداة لإنشاء حلول سحابية مخصصة ونشرها. إنها خدمة مفتوحة المصدر. يمكن نشر التطبيقات المبنية على تصميم وتصميم أنماط الملحمة باستخدام هذه الأداة.

AWS SAM

يُستخدم نموذج AWS Serverless Application لإنشاء تطبيقات بدون خادم. هذا الإطار مفتوح المصدر أيضًا. يمكن إنشاء أي تطبيق يستخدم نمط الملحمة بدون توفير خوادم باستخدام AWS SAM.

كانت هناك خدمات AWS تدعم أنماط الملحمة. دعونا نناقش الفوائد التي تقدمها أنماط الملحمة.

ما مزايا أنماط Saga في AWS؟

فيما يلي بعض الفوائد التي توفرها أنماط الملحمة:

  • إدارة المعاملات الموزعة
  • تناسق البيانات
  • التسامح مع الخطأ
  • قابلية التوسع
  • دعونا نناقش الفوائد بالتفصيل.

    إدارة المعاملات الموزعة

    توفر أنماط Saga حلاً بسيطًا وفعالًا للتعامل مع المعاملات الموزعة في بنى الخدمات المصغرة. من خلال تقسيم المعاملات إلى خطوات يمكن إدارتها ، فإنها تساعد في تبسيط مهام سير العمل المعقدة.

    تناسق البيانات

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

    التسامح مع الخطأ

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

    قابلية التوسع

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

    كان هذا كله يتعلق بأنماط الملحمة ومكوناتها واستخداماتها في خدمات AWS.

    خاتمة

    توفر أنماط Saga طريقة فعالة للتعامل مع المعاملات الموزعة داخل بنى الخدمات المصغرة. AWS Step Functions و Lambda و DynamoDB و SNS و SQS ليست سوى عدد قليل من خدمات AWS التي تدعم هذا النمط. لقد أوضحت هذه المقالة بشكل شامل نمط الملحمة وعملها.