logo

بوابة Zuul API

ما هو زول؟

Zuul Server هو تطبيق بوابة API. فهو يتعامل مع جميع الطلبات ويقوم بالتوجيه الديناميكي لتطبيقات الخدمات الصغيرة. يعمل كباب أمامي لجميع الطلبات. ومن المعروف أيضا باسم خادم الحافة.

تم تصميم Zuul للتمكين التوجيه الديناميكي، والرصد، والمرونة، و حماية. ويمكنه أيضًا توجيه الطلبات إلى عدة مجموعات قياس السيارات في أمازون .

على سبيل المثال، /api/products تم تعيينها إلى منتج الخدمة و /api/user تم تعيينه إلى مستخدم خدمة. يقوم خادم Zuul بتوجيه الطلبات ديناميكيًا إلى التطبيق الخلفي المعني.

لماذا نستخدم الزول؟

يؤدي حجم حركة مرور Netflix API وتنوعها أحيانًا إلى حدوث مشكلات في الإنتاج تظهر بسرعة ودون سابق إنذار. لذلك نحن بحاجة إلى نظام يسمح لنا بتغيير السلوك بسرعة من أجل الاستجابة لهذه المواقف.

توفر Zuul مجموعة من الأنواع المختلفة المرشحات يتيح لنا تطبيق الوظائف بسرعة وذكاء على خدمتنا الطرفية. تقوم المرشحات بالوظائف التالية:

    المصادقة والأمن:ويوفر متطلبات المصادقة لكل مورد.
    الرؤى والرصد:فهو يتتبع البيانات والإحصائيات المفيدة التي تعطينا رؤية دقيقة للإنتاج.
    التوجيه الديناميكي:يقوم بتوجيه الطلبات ديناميكيًا إلى مجموعات مدعومة مختلفة حسب الحاجة.اختبار الإجهاد:فهو يزيد من حركة المرور إلى المجموعة من أجل اختبار الأداء.سفك الأحمال:فهو يخصص السعة لكل نوع من أنواع الطلبات ويسقط الطلب الذي يتجاوز الحد الأقصى.معالجة الاستجابة الثابتة:فهو يبني بعض الاستجابات مباشرة على الحافة بدلاً من إعادة توجيهها إلى مجموعة داخلية.مرونة المناطق المتعددة:يقوم بتوجيه الطلبات عبر مناطق AWS من أجل تنويع استخدام ELB لدينا.

مكونات زول

مكونات Zuul 2.x:

    زول النواة:إنها مكتبة تحتوي على الوظائف الأساسية لـ Zuul 2.0.عينة زول:إنه تطبيق نموذجي لبرنامج التشغيل Zuul 2.0

مكونات Zuul 1.x:

    زول النواة:وهو يحدد الوظيفة الأساسية.zuul-simple-webapp:تطبيق ويب يعرض مثالًا بسيطًا لكيفية إنشاء تطبيق باستخدام zuul-core.زول-نيتفليكس:إنها مكتبة تضيف مكونات NetflixOSS أخرى إلى Zuul.zuul-netflix-webapp:إنه تطبيق ويب يجمع zuul-core وzuul-netflix معًا.

إعداد خادم بوابة Zuul API

هناك ثلاثة خطوات إعداد بوابة Zuul API:

  • قم بإنشاء مكون لبوابة Zuul API
  • قرر الأشياء التي يجب أن تفعلها بوابة Zuul API
  • تم تكوين جميع الطلبات المهمة للمرور عبر بوابة Zuul API

اتبع الخطوات لإعداد خادم Zuul API Gateway.

الخطوة 1: يفتح تهيئة الربيع https://start.spring.io .

الخطوة 2: توفير مجموعة اسم. قدمنا com.javatpoint.microservices.

الخطوه 3: توفير الأداة. قدمنا netflix-zuul-api-gateway-server.

الخطوة 4: أضف التبعيات التالية: زول، اكتشاف يوريكا، المحرك، و أدوات التطوير.

بوابة Zuul API

الخطوة 5: اضغط على يولد زر. يبدأ تعبئة المشروع في أَزِيز الملف وتنزيله.

بوابة Zuul API

الخطوة 6: استخراج الملف المضغوط والصقه في مساحة عمل Spring Tool Suite.

الخطوة 7: الاستيراد المشروع في STS IDE.

ملف -> استيراد -> مشاريع Maven الحالية -> تصفح -> تحديد netflix-zuul-api-gateway-server -> حدد المجلد -> إنهاء

يستغرق الاستيراد بعض الوقت.

الخطوة 8: افتح ال NetflixZuulApiGatewayServerApplication.java قم بملف وتمكين وكيل zuul وعميل الاكتشاف باستخدام التعليقات التوضيحية @EnableZuulProxy و @EnableDiscoveryClient، على التوالى .

NetflixZuulApiGatewayServerApplication.java

 package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } } 

الخطوة 9: يفتح application.properties ملف وتكوين اسم التطبيق، المنفذ، و خادم تسمية يوريكا .

application.properties

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
انقر هنا لتنزيل netflix-zuul-api-gateway-server