محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

محمود أبوالحسن
محمود أبوالحسن

مطور ويب شامل

تصميم الرسومات

مطور ووردبريس

مطور لارافيل

مصمم باستخدام فيغما

مستقل

أفكار وتجارب تستحق المشاركة

المعاملات: حماية العمليات متعددة الخطوات

1 دقيقة قراءة تقريبًا
ابدأ القراءة
المعاملات: حماية العمليات متعددة الخطوات

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

الفكرة الأساسية

حدّد حدود العملية التجارية قبل فتح المعاملة. احتفظ بها قصيرة، وافهم مستوى العزل وطريقة التعامل مع التضارب. الاتصال بخدمة خارجية لا يتراجع تلقائيًا مع تراجع قاعدة البيانات.

خطوات عملية

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

الخوادم وواجهات API — صورة توضيحية

مثال تطبيقي

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

خطأ شائع ينبغي تجنبه

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

للتوسع في الموضوع

التوثيق والمرجع الرسمي

صور توضيحية: الغلاف من Unsplash، الصورة الداخلية من Unsplash. ترخيص الاستخدام.

شارك المقال

شارك هذه الفكرة مع من تهمّه.

لنتحدث عن فكرتك القادمة

لديك سؤال أو فكرة مشروع؟ يسعدني التواصل معك.

اتصل بنا
Dark Mode EN English Buy Me A Coffee Buy Me A Coffee