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