تخطَّ إلى المحتوى

API Gateway

بوابة API API Gateway

API Gateway نقطة دخول واحدة لكل طلبات العملاء، توجّهها للخدمات المناسبة وتدير الأمان والتحديد وتجميع الاستجابات.

بدل أن يعرف العميل عناوين كل خدمة على حدة ويستدعيها مباشرة، يمر كل طلب عبر بوابة واحدة تتولى التوجيه (Routing)، المصادقة، تحديد المعدل (Rate Limiting)، وأحياناً تجميع نتائج عدة خدمات في استجابة واحدة.

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

الصياغة

Client → API Gateway → { service-a | service-b | service-c }

📄 مثال

// مبسّط — توجيه حسب المسار
app.use('/users', proxy('user-service:3001'));
app.use('/orders', proxy('order-service:3002'));
app.use('/products', proxy('product-service:3003'));

أهم النقاط

العنصرالوظيفة
التوجيه (Routing)يحدد أي خدمة تعالج كل مسار من مسارات الطلب
المصادقة المركزيةيتحقق من الهوية مرة واحدة بدل تكرارها بكل خدمة
تحديد المعدليحمي الخدمات الداخلية من فيضان الطلبات

💡 نصائح عملية

  • لا تضع منطق عمل (Business Logic) داخل البوابة — دورها توجيه وحماية فقط
  • اجعل البوابة عديمة الحالة (Stateless) وشغّل عدة نسخ منها لتفادي نقطة فشل واحدة

⚠️ أخطاء شائعة

  • تحويل البوابة إلى Monolith مصغّر يحتوي منطق أعمال معقّد
  • الاعتماد على نسخة واحدة من البوابة بلا تكرار — أي عطل فيها يوقف النظام بالكامل

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار MICROSERVICES الكامل بالعربي.