الموارد · 54
Webhooks: معالجة التكرارات والتأخيرات والاسترداد
حوّل الإشعار المُستلم إلى تأثير تجاري فريد وقابل للتتبع وقابل للاسترداد بعد الفشل.
مُحدَّث · 3 min
ما يُساعد هذا الدليل على تحقيقه
- مصادقة الإشعارات
- فصل الاستلام عن المعالجة
- منع التأثيرات المكررة
- استعادة الأحداث المحظورة
فحص سريع
- ما هي البايتات المُوقَّعة؟
- متى يكون الاستلام دائمًا؟
- هل يمكن لعاملين العمل معًا؟
- هل يضمن الموفر ترتيب التسليم؟
- كيف يتم العثور على حدث مفقود؟
طريقة خطوة بخطوة
- 1
قراءة عقد الموفر
أنواع السجلات، والإصدار، وسياق الحساب، والتوقيعات، والتوقيت، وقواعد إعادة المحاولة. تنص Stripe على أن ترتيب التسليم غير مضمون، وقد تحدث عمليات مكررة؛ لذا لا تُطبق تأخيرًا خاصًا بـ Stripe على كل واجهة برمجة تطبيقات.
المُخرَج: عقد موفر مؤرخ.
- 2
التحقق قبل التأثيرات
التحقق من التوقيعات باستخدام المكتبة والنص الخام المطلوب من قِبل الموفر. تحديد الأحجام والأنواع المقبولة. اختبر التوقيعات غير الصالحة وسياق الحساب غير المتوقع في بيئة مُصرَّح بها دون تسجيل البيانات السرية.
المُخرَج: حالات الرفض دون أي تأثير.
- 3
الحفظ قبل الإقرار.
افصل الاستلام الدائم عن المعالجة البطيئة. إذا لم يتمكن الطابور من قبول الحدث، فلا تُبلغ عنه على أنه مُحتفظ به. يُشير النجاح إلى الاستلام بموجب عقدك، وليس بالضرورة إتمام الإجراء التجاري.
المُخرَج: حالات الاستلام، والمعالجة، والإتمام، والحظر.
- 4
فرض التكرار.
حدد مفاتيح الحدث وهوية التأثير التجاري. اختبر التكرارات المتزامنة بدلاً من التسليم التسلسلي فقط. يمكن لفحص أولي بدون قيود ذرية أو تأمين أن يسمح لعاملين بإنشاء نفس التأثير.
المُخرَج: دليل على تفرد التأثير.
- 5
معالجة التأخير والفوضى.
لا تفترض أن إشعارًا قديمًا يصف الحالة الحالية. راجع المصدر عندما يسمح العقد بذلك، وطبّق انتقالات الأعمال المُدقَّقة. احتفظ بالأحداث التي لا يمكن تفسيرها بعد.
المُخرَج: اختبارات الانتقالات والترتيب العكسي.
- 6
التوفيق وإعادة التشغيل.
إعداد قائمة انتظار الأخطاء مع تحديد المالك والسبب والمحاولات والإغلاق. حافظ على الحماية من التكرار أثناء إعادة التشغيل. قارن المزوّد والتطبيق دوريًا: لا يُثبت نجاح الاسترداد عدم فقدان أي حدث.
المُخرَج: إجراء الاسترداد وتقرير التباين.
ورقة عمل قابلة لإعادة الاستخدام
أكمل بملاحظاتك المعتمدة. هذه الحقول عبارة عن نموذج عمل، وليست نتائج مُلاحظة.
| الحقل | المعلومات المطلوب تسجيلها |
|---|---|
| الحدث | المزوّد، الحساب، المعرّف، والإصدار |
| الإيصال | التوقيع المُدقّق والطابع الزمني الدائم |
| التأثير | مفتاح العمل، الحالة، ودليل التفرّد |
| الاسترداد | السبب، المحاولة، المالك، والإغلاق |
مثال عملي افتراضي
حالة توضيحية
مثال افتراضي: يتلقى عاملان نفس إشعار التأكيد أثناء الاستعادة.
القرار والأدلة المتوقعة
يسمح قيد التأثير التجاري الفريد وحالة المعاملة بتنفيذ واحد مع إمكانية تتبع كلا التسليمين.
تمييز الآليات
| الآلية | الغرض | التحقق أو التقييد |
|---|---|---|
| التوقيع. | التحقق من المصدر بموجب العقد. | لا يجعل التأثيرات فريدة. |
| إزالة التكرارات | التعرف على الإشعارات المتكررة | التحقق من التزامن والتأثيرات التجارية |
| التوفيق | إيجاد حالات الحذف والاختلاف | تحديد المصدر والفترة الزمنية |
مؤشرات الإدارة
| المؤشر | ما يقيسه | الإجراء الأول |
|---|---|---|
| عمر قائمة الانتظار | تأخير الأحداث غير المكتملة | فحص الأقدم |
| تأثيرات مكررة | تكرار الإجراءات التجارية بشكل خاطئ | تصحيح الذرية |
| فجوات المصدر/التطبيق | حالات غائبة أو متباينة | التوفيق مع دليل الإغلاق |
الأخطاء الشائعة
- التحليل قبل التحقق من صحة نص الرسالة الموقعة
- الإقرار قبل الاستلام الدائم
- افتراض التسليم المرتب
- اختبار التكرارات بالتسلسل فقط
الأسئلة المتكررة
هل يعني نجاح HTTP اكتمال المعالجة؟
يعتمد ذلك على العقد. مع المعالجة غير المتزامنة، ينبغي أن يضمن ذلك استلامًا دائمًا مع تتبع حالة العمل بشكل منفصل.
هل يمكن افتراض التسليم لمرة واحدة فقط؟
تصميم النظام للتعامل مع حالات التكرار والفشل في ظل العقد الفعلي، مع مراعاة التأثيرات الفريدة وإمكانية التسوية.
هل ينبغي الاحتفاظ بالبيانات كاملة؟
فقط عند الضرورة مع إمكانية الوصول والاحتفاظ المناسبة. يجب أن تدعم الآثار الدنيا التشخيص والاستعادة دون إخفاء أي معلومات.
المراجع الرسمية
تدعم المراجع الطريقة. قم بتكييف عمليات التحقق مع سياقك؛ فهي ليست شهادة. قد تكون عناوين المراجع الأصلية والوثائق المصدرية بلغة أخرى.
تاريخ مراجعة المراجع .






