صنف خدمة واحد لكل نظام خارجي: دليل التكامل العملي

هذا هو الجزء السادس من سلسلة مساند. حكى الجزآن الرابع والخامس قصتي Oracle وMSSQL.

Oracle. MSSQL. LDAP. خدمات طرف ثالث. أنظمة الشركة الداخلية. تجاوزت قائمة تكاملات مساند النقطة التي أستطيع فيها حفظ التفاصيل في رأسي — وهي بالضبط اللحظة التي تتوقف فيها المعمارية عن كونها تفضيلاً وتصبح بقاءً. هذا المقال هو دليل العمل الذي تبلور.

القاعدة 1: صنف خدمة واحد لكل نظام خارجي

كل نظام خارجي يخاطبه مساند له بيت واحد بالضبط في الكود: صنف خدمة مخصص يملك تفاصيل الاتصال، والاستعلامات أو نداءات الواجهات، وإعادة المحاولات، والتحويل إلى أشكال بيانات مساند الخاصة. لا شيء آخر في التطبيق يعرف كيف يصل إلى ذلك النظام — لا المتحكمات، ولا موارد Filament، ولا الخدمات الأخرى.

والعائد يتراكم مع كل تكامل:

  • للتصحيح عنوان. عندما تضطرب عمليات بحث الفايبر، هناك ملف واحد يُفتح. لا بحث في كامل الكود.

  • لبيانات الاعتماد قارئ واحد. مراجعات الأمن تتوقف عن كونها تنقيبًا أثريًا.

  • التغيير محتوى. عندما يغير نظام مصدر مخططه أو واجهته، صنف واحد يمتص الضربة.

  • القبيح يبقى مخفيًا. خدمة Oracle تستدعي SQL*Plus داخليًا؛ ومستدعوها يتلقون نتائج نظيفة فحسب. الجماليات داخل الحدود، والعقود خارجها.

القاعدة 2: طوابير بترتيب مقصود

أعمال التكامل متدفقة وثقيلة — مسح قسائم عبر أكثر من مليوني سجل، أو مزامنة LDAP كاملة، أو استيراد دفعي. شغّل هذه في مسار العمل اليومي نفسه وسيشعر المستخدمون فورًا: إجراء «اعتمد هذا السجل» البريء يصطف خلف مهمة دفعية مدتها ساعتان.

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

القاعدة 3: Redis أمام التكرار

Redis هو مخزن التخزين المؤقت في مساند، ووصفه الوظيفي سطر واحد: امتص التكرار قبل أن يصل إلى أنظمة لا نملكها. عمليات البحث المتكررة من مخزن الفايبر في MSSQL، والبيانات المرجعية، والعروض المحسوبة المكلفة — كلها مخزنة بأعمار معقولة. ويحفظ هذا النظام انضباطان: لكل مفتاح تخزين مالك (الصنف الذي يكتبه هو الذي يبطله)، وأعمار التخزين تعكس مقدار القِدم الذي تحتمله الأعمال، لا سرعة قدرتنا على التحديث. فحالة القسيمة تحتمل دقائق من القِدم؛ أما قرار الاعتماد فلا.

الدليل في فقرة واحدة

أتمت إعداد المُعرّفات المؤلم مرة واحدة. أعطِ كل نظام خارجي صنف خدمة واحدًا واجعله الباب الوحيد. قسّم الطوابير حسب الإلحاح ورتبها عمدًا، وقطّع العمل الثقيل، وجدوله برفق. خزّن التكرار في Redis بمفاتيح مملوكة وأعمار صادقة. لا فكرة من هذه جديدة — وهذا هو المقصد. الجدة مكلفة عند حدود التكامل؛ والقابلية للتنبؤ هي ما يتوسع.

التالي في السلسلة: الاستعلام عن القسائم — الميزة التي حولت أكثر من مليوني سجل إلى بحث ذاتي لفريق الأعمال.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.