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