تصميم وظائف Azure لإدخال متطابق

إن حقيقة الهيكل المستند إلى الحدث والرسالة تملي الحاجة إلى قبول طلبات متطابقة مع الحفاظ على سلامة البيانات واستقرار النظام.

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

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

عندما يتعلق الأمر ببناء التطبيقات، ضع في الاعتبار السيناريوهات التالية:

  • ماذا يحدث إذا حاول تطبيق التحكم في المخزون حذف المنتج نفسه أكثر من مرة؟
  • كيف يتصرف تطبيق الموارد البشرية إذا كان هناك أكثر من طلب لإنشاء سجل موظف للشخص نفسه؟
  • إلى أين تذهب الأموال إذا حصل تطبيقك المصرفي على 100 طلب لإجراء عملية السحب نفسها؟

هناك العديد من السياقات حيث قد تتلقى طلبات وظيفة ما أوامر متطابقة. وتشمل بعض الحالات ما يلي:

  • ترسل نهج إعادة المحاولة الطلب نفسه عدة مرات.
  • تتم إعادة تشغيل الأوامر المخزنة مؤقتًا في التطبيق.
  • ترسل أخطاء التطبيق طلبات متطابقة متعددة.

لحماية سلامة البيانات وصحة النظام، يحتوي تطبيق التكرار على منطق قد يحتوي على السلوكيات التالية:

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

يتحقق التكرار النهائي عن طريق ضمان إمكانية اتخاذ إجراء معين وتنفيذه مرة واحدة فقط.

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