📅  最后修改于: 2021-01-11 02:32:44             🧑  作者: Mango
Zuul服务器是API网关应用程序。它处理所有请求并执行微服务应用程序的动态路由。它充当所有请求的前门。也称为边缘服务器。
Zuul旨在实现动态路由,监视,弹性和安全性。它还可以将请求路由到多个Amazon Auto Scaling组。
例如, / api / products映射到产品服务, / api / user映射到用户服务。 Zuul服务器将请求动态路由到相应的后端应用程序。
Netflix API流量的数量和种类有时会导致生产问题,这些问题会迅速出现而没有警告。因此,我们需要一个能够快速改变行为以对这些情况做出反应的系统。
Zuul提供了一系列不同类型的过滤器,使我们能够快速灵活地将功能应用于边缘服务。筛选器执行以下功能:
Zuul 2.x组件:
Zuul 1.x组件:
设置Zuul API网关的过程分为三个步骤:
请按照以下步骤设置Zuul API网关服务器。
第1步:打开Spring Initializr https://start.spring.io 。
步骤2:提供群组名称。我们提供了com.javatpoint.microservices。
步骤3:提供工件。我们提供了netflix-zuul-api-gateway-server。
步骤4:添加以下依赖项: Zuul,Eureka Discovery,Actuator和DevTools。
步骤5:点击Generate(生成)按钮。它将开始将项目打包为zip文件并下载。
步骤6:解压缩zip文件并将其粘贴到Spring Tool Suite的工作区中。
步骤7:在STS IDE中导入项目。
文件->导入->现有Maven项目->浏览->选择netflix-zuul-api-gateway-server- >选择文件夹->完成
导入需要一些时间。
步骤8:打开NetflixZuulApiGatewayServerApplication.java文件,并分别使用注释@EnableZuulProxy和@EnableDiscoveryClient启用zuul代理和发现客户端。
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