كيف ينسّق نمط Saga الإجراءات القابلة للعكس للذكاء الاصطناعي المنزلي؟

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

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

يفيد هذا عندما يتعامل وكيل مع عدة خدمات مستقلة لا يمكنها مشاركة معاملة واحدة. يسجّل سير العمل التقدم، ويكتشف نقطة الفشل، ويفكك عمدًا الخطوات التي يمكن عكسها.

تقسّم ساغا إجراءً منزليًا واحدًا إلى عدة خطوات محلية

تنسّق ساغا سير عمل يمتد عبر أنظمة مستقلة من خلال التعامل مع كل خطوة باعتبارها معاملة محلية أو أثرًا جانبيًا. ولا تنجح العملية بأكملها إلا بعد اكتمال الخطوات المطلوبة.

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

قد يوقف سير عمل للذكاء الاصطناعي المنزلي خدمة وسائط، وينقل مكتبة، ويحدّث نقطة تركيب، ويحدّث البيانات الوصفية، ثم يعيد تشغيل الخدمة.

تُجري كل مكوّنة عملية الالتزام محليًا، رغم أن سير العمل بأكمله ليس ذريًا.

تعرّف كل خطوة قابلة للعكس إجراءً تعويضيًا

لا تتراجع ساغا عن كل خدمة باستخدام أمر قاعدة بيانات واحد. فالخطوات التي يمكن عكسها تعرّف إجراءات تعويضية تستعيد العمل السابق دلاليًا أو تعوّض أثره.

يوضح موقع Microservices.io أن الفشل يفعّل معاملات تعويضية للخطوات المكتملة سابقًا. ويستعيد التعويض الاتساق بدلًا من محو السجل. وتصف Azure الإجراءات التعويضية لخطوات ساغا القابلة للعكس، دعمًا لنموذج التعويض المستخدم في نمط ساغا في Azure.

يمكن تعويض MoveFile باستخدام MoveFileBack، وتعويض DisableShare باستخدام EnableShare. وقد لا تكون لبعض الإجراءات الخارجية معكوسات مثالية، لذا يجب تمييزها وفقًا لذلك.

يمكن لمنسّق أن يقرر الترتيب الأمامي والعكسي

في ساغا قائمة على التزامن، تعرف مكوّنة واحدة من سير العمل التسلسل، وترسل الأوامر، وتسجّل الردود، وتقرر ما إذا كانت ستتابع أو تبدأ التعويض.

يعرض موقع Microservices.io منسّق ساغا يستدعي الخطوات وإجراءات التعويض. وغالبًا ما تكون آلة حالة مركزية أسهل للتدقيق على خادم منزلي من شبكة من ردود الفعل المستقلة. وتوضح إرشادات Temporal حول ساغا كيف يمكن لمنسّق تسجيل إجراءات التعويض واستدعائها عند فشل خطوة لاحقة، بما يطابق التنسيق بترتيب عكسي في نمط ساغا في Temporal.

عند فشل خطوة متأخرة، تُشغَّل إجراءات التعويض عادةً بترتيب عكسي للتبعيات.

إذا جرى تغيير نقطة تركيب بعد نقل الملفات، فينبغي لسير العمل استعادة نقطة التركيب قبل إعادة نقل البيانات.

-15% OFF

تنشر المحاكاة التنسيقية عبر الأحداث

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

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

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

يحتاج التعويض إلى قابلية التكرار وهوية ثابتة للإجراء

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

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

يرتبط هذا بحلقات استدعاء أدوات الوكيل المتكررة لدى ZimaSpace: إذ يجب أن يعرف سير عمل الاسترداد ما إذا كان يستأنف بأمان أو يكرر أثرًا جانبيًا.

لا يمكن لساغا جعل كل إجراء قابلًا للعكس فعليًا

تترتب على بعض الإجراءات المنزلية عواقب خارجية لا يمكن عكسها.

فلا يمكن دائمًا التراجع عن رسالة تم تسليمها، أو ملف مُسح بأمان، أو عملية شراء من طرف ثالث، من خلال استدعاء واجهة برمجة عكسية.

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

توفّر استراتيجية الوكيل التي تبدأ بأدوات القراءة فقط لدى ZimaSpace انتقالًا أكثر أمانًا من الملاحظة إلى التعديل؛ ثم تنسّق ساغا التغييرات المسموح بها عمدًا.

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.