מה זה זוול?
Zuul Server הוא אפליקציית API Gateway. הוא מטפל בכל הבקשות ומבצע ניתוב דינמי של יישומי מיקרו-שירות. זה עובד כדלת כניסה לכל הבקשות. זה ידוע גם בשם שרת אדג'.
Zuul בנוי לאפשר ניתוב דינמי, ניטור, גמישות, ו בִּטָחוֹן. זה יכול גם לנתב את הבקשות לכמה קבוצות קנה מידה אוטומטי של אמזון .
לדוגמה, /api/products ממופים ל- מוצר שירות ו /api/user ממופה ל- מִשׁתַמֵשׁ שֵׁרוּת. שרת Zuul מנתב באופן דינמי את הבקשות ליישום הקצה המתאים.
מדוע אנו משתמשים ב-Zul?
הנפח והמגוון של תעבורת ה-API של Netflix גורמים לפעמים לבעיות ייצור המתעוררות במהירות וללא אזהרה. אז אנחנו צריכים מערכת שמאפשרת לנו לשנות התנהגות במהירות כדי להגיב למצבים האלה.
Zuul מספקת מגוון סוגים שונים של מסננים המאפשר לנו ליישם במהירות ובזריזות פונקציונליות לשירות הקצה שלנו. המסננים מבצעים את הפונקציות הבאות:
Zuul Components
רכיבי Zuul 2.x:
רכיבי Zuul 1.x:
הגדרת Zuul API Gateway Server
יש שְׁלוֹשָׁה שלבים להגדרת שער ה-API Zuul:
- צור רכיב עבור ה-Zuul API Gateway
- החליטו על הדברים ש- Zuul API Gateway צריך לעשות
- כל הבקשות החשובות מוגדרות לעבור דרך שער ה-API של Zuul
בצע את השלבים כדי להגדיר את שרת Zuul API Gateway.
שלב 1: לִפְתוֹחַ אתחול האביב https://start.spring.io .
שלב 2: ספק את קְבוּצָה שֵׁם. סיפקנו com.javatpoint.microservices.
שלב 3: ספק את חפץ. סיפקנו netflix-zuul-api-gateway-server.
שלב 4: הוסף את התלות הבאה: Zuul, Eureka Discovery, Actuator, ו DevTools.
שלב 5: הקלק על ה לִיצוֹר לַחְצָן. זה מתחיל לארוז את הפרויקט לתוך רוכסן קובץ והורד אותו.
שלב 6: חלץ את קובץ ה-zip והדבק אותו בסביבת העבודה של Spring Tool Suite.
שלב 7: ייבוא הפרויקט ב- STS IDE.
קובץ -> ייבוא -> פרויקטים קיימים של Maven -> עיון -> בחר netflix-zuul-api-gateway-server -> בחר תיקיה -> סיום
לוקח קצת זמן לייבא.
שלב 8: פתח את ה NetflixZuulApiGatewayServerApplication.java קובץ ואפשר Zuul Proxy ו-Client Discovery באמצעות ההערות @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 קובץ והגדר את שם אפליקציה, יציאה, ו שרת שמות eureka .
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