ما هو زول؟
Zuul Server هو تطبيق بوابة API. فهو يتعامل مع جميع الطلبات ويقوم بالتوجيه الديناميكي لتطبيقات الخدمات الصغيرة. يعمل كباب أمامي لجميع الطلبات. ومن المعروف أيضا باسم خادم الحافة.
تم تصميم Zuul للتمكين التوجيه الديناميكي، والرصد، والمرونة، و حماية. ويمكنه أيضًا توجيه الطلبات إلى عدة مجموعات قياس السيارات في أمازون .
على سبيل المثال، /api/products تم تعيينها إلى منتج الخدمة و /api/user تم تعيينه إلى مستخدم خدمة. يقوم خادم Zuul بتوجيه الطلبات ديناميكيًا إلى التطبيق الخلفي المعني.
لماذا نستخدم الزول؟
يؤدي حجم حركة مرور Netflix API وتنوعها أحيانًا إلى حدوث مشكلات في الإنتاج تظهر بسرعة ودون سابق إنذار. لذلك نحن بحاجة إلى نظام يسمح لنا بتغيير السلوك بسرعة من أجل الاستجابة لهذه المواقف.
توفر Zuul مجموعة من الأنواع المختلفة المرشحات يتيح لنا تطبيق الوظائف بسرعة وذكاء على خدمتنا الطرفية. تقوم المرشحات بالوظائف التالية:
مكونات زول
مكونات Zuul 2.x:
مكونات Zuul 1.x:
إعداد خادم بوابة 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: أضف التبعيات التالية: زول، اكتشاف يوريكا، المحرك، و أدوات التطوير.
الخطوة 5: اضغط على يولد زر. يبدأ تعبئة المشروع في أَزِيز الملف وتنزيله.
الخطوة 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