اتجاهات التكنولوجيا والمعمارية

لا تنفذ السحب مباشرة: استخدم الطابور (Queue)

التعامل مع السحب كدالة برمجية خطأ جسيم. تعامل معه كحدث له دورة حياة داخل Queue لضمان عدم تكرار الصرف واستقرار النظام.

F
Fintech Poster
٥ يونيو ٢٠٢٤
3 دقيقة قراءة
لا تنفذ السحب مباشرة: استخدم الطابور (Queue)
Share this post:

لو عندك تطبيق فنتك وفيه عملية سحب من المحفظة حاول دائما ما تخليها تتنفذ مباشرة.

الطريقة الصح إنك تخزن العملية أول داخل جدول queue وتخليها تمر بمراحل واضحة في كل خطوة من عمر العملية.

التنفيذ لازم يمر عن طريق queue tool زي Redis مثلاً عشان تضمن تسلسل العمليات وما يصير عندك تضارب أو double execution.

الفكرة هنا إنك ما تتعامل مع العملية كأنها مجرد function تنفذت وانتهت بل كأنها event له دورة حياة كاملة. بهذا الشكل تقدر تتحكم في كل تفصيلة وتتعامل مع أي خطأ أو ظرف يصير في النص بدون ما تتأثر تجربة المستخدم.

فوائد هذا الأسلوب

  • لو النظام فيه مشكلة المستخدم ما يطلع له خطأ مباشر بالعكس يشوف العملية عنده بالتطبيق قيد المعالجة.
  • لو حساب البنك نفسه ما فيه رصيد كافي وقت تنفيذ العملية ما تضيع العملية لأنها محفوظة في الـ queue.
  • النظام يعطيك فرصة تراجع العمليات قبل ما تتنفذ فعليا لو لاحظت نشاط غريب أو سلوك مريب (Suspicious activity) وتقدر توقف العملية.

هذا الأسلوب البسيط في تصميم عمليات السحب يغير كثير في استقرار النظام ومرونته. باختصار لا تنفذ العملية فورا وخليها تمر برحلتها أول داخل الـ queue وبتعرف حرفيًا فائدة الطريقة ذي لما تبدأ تتعامل مع حالات حقيقية ومشاكل إنتاجية.

"دائماً تعامل مع الفلوس ككائن حي مش function تُنفذ."
#Fintech#Redis#Queue#Backend
F

Fintech Poster