الموارد · 54

Webhooks: معالجة التكرارات والتأخيرات والاسترداد

حوّل الإشعار المُستلم إلى تأثير تجاري فريد وقابل للتتبع وقابل للاسترداد بعد الفشل.

مُحدَّث · 3 min

ما يُساعد هذا الدليل على تحقيقه

  • مصادقة الإشعارات
  • فصل الاستلام عن المعالجة
  • منع التأثيرات المكررة
  • استعادة الأحداث المحظورة

فحص سريع

  • ما هي البايتات المُوقَّعة؟
  • متى يكون الاستلام دائمًا؟
  • هل يمكن لعاملين العمل معًا؟
  • هل يضمن الموفر ترتيب التسليم؟
  • كيف يتم العثور على حدث مفقود؟

طريقة خطوة بخطوة

  1. 1

    قراءة عقد الموفر

    أنواع السجلات، والإصدار، وسياق الحساب، والتوقيعات، والتوقيت، وقواعد إعادة المحاولة. تنص Stripe على أن ترتيب التسليم غير مضمون، وقد تحدث عمليات مكررة؛ لذا لا تُطبق تأخيرًا خاصًا بـ Stripe على كل واجهة برمجة تطبيقات.

    المُخرَج: عقد موفر مؤرخ.

  2. 2

    التحقق قبل التأثيرات

    التحقق من التوقيعات باستخدام المكتبة والنص الخام المطلوب من قِبل الموفر. تحديد الأحجام والأنواع المقبولة. اختبر التوقيعات غير الصالحة وسياق الحساب غير المتوقع في بيئة مُصرَّح بها دون تسجيل البيانات السرية.

    المُخرَج: حالات الرفض دون أي تأثير.

  3. 3

    الحفظ قبل الإقرار.

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

    المُخرَج: حالات الاستلام، والمعالجة، والإتمام، والحظر.

  4. 4

    فرض التكرار.

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

    المُخرَج: دليل على تفرد التأثير.

  5. 5

    معالجة التأخير والفوضى.

    لا تفترض أن إشعارًا قديمًا يصف الحالة الحالية. راجع المصدر عندما يسمح العقد بذلك، وطبّق انتقالات الأعمال المُدقَّقة. احتفظ بالأحداث التي لا يمكن تفسيرها بعد.

    المُخرَج: اختبارات الانتقالات والترتيب العكسي.

  6. 6

    التوفيق وإعادة التشغيل.

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

    المُخرَج: إجراء الاسترداد وتقرير التباين.

ورقة عمل قابلة لإعادة الاستخدام

أكمل بملاحظاتك المعتمدة. هذه الحقول عبارة عن نموذج عمل، وليست نتائج مُلاحظة.

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

مثال عملي افتراضي

حالة توضيحية

مثال افتراضي: يتلقى عاملان نفس إشعار التأكيد أثناء الاستعادة.

القرار والأدلة المتوقعة

يسمح قيد التأثير التجاري الفريد وحالة المعاملة بتنفيذ واحد مع إمكانية تتبع كلا التسليمين.

تمييز الآليات

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

مؤشرات الإدارة

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

الأخطاء الشائعة

  • التحليل قبل التحقق من صحة نص الرسالة الموقعة
  • الإقرار قبل الاستلام الدائم
  • افتراض التسليم المرتب
  • اختبار التكرارات بالتسلسل فقط

الأسئلة المتكررة

هل يعني نجاح HTTP اكتمال المعالجة؟

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

هل يمكن افتراض التسليم لمرة واحدة فقط؟

تصميم النظام للتعامل مع حالات التكرار والفشل في ظل العقد الفعلي، مع مراعاة التأثيرات الفريدة وإمكانية التسوية.

هل ينبغي الاحتفاظ بالبيانات كاملة؟

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

المراجع الرسمية

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

تاريخ مراجعة المراجع .