个性化阅读
专注于IT技术分析

Zuul API网关介绍

本文概述

什么是祖尔?

Zuul服务器是API网关应用程序。它处理所有请求并执行微服务应用程序的动态路由。它充当所有请求的前门。也称为边缘服务器。

Zuul旨在实现动态路由, 监视, 弹性和安全性。它还可以将请求路由到多个Amazon Auto Scaling组。

例如, / api / products映射到产品服务, / api / user映射到用户服务。 Zuul服务器将请求动态路由到相应的后端应用程序。

为什么我们使用Zuul?

Netflix API流量的数量和种类有时会导致生产问题, 这些问题会迅速出现, 而不会发出警告。因此, 我们需要一个能够快速改变行为以对这些情况做出反应的系统。

Zuul提供了一系列不同类型的过滤器, 使我们能够快速灵活地将功能应用于边缘服务。筛选器执行以下功能:

  • 身份验证和安全性:它提供每种资源的身份验证要求。
  • 见解和监控:它跟踪有意义的数据和统计数据, 从而使我们能够准确地了解生产情况。
  • 动态路由:根据需要将请求动态路由到不同的支持集群。
  • 压力测试:它增加了到群集的流量以测试性能。
  • 减载:它为每种类型的请求分配容量, 并丢弃超出限制的请求。
  • 静态响应处理:它直接在边缘构建一些响应, 而不是将其转发到内部集群。
  • 多区域弹性:它跨AWS区域路由请求, 以多样化我们的ELB用法。

Zuul组件

Zuul 2.x组件:

  • zuul-core:它是一个包含Zuul 2.0核心功能的库。
  • zuul-sample:这是Zuul 2.0的示例驱动程序应用程序

Zuul 1.x组件:

  • zuul-core:定义核心功能。
  • zuul-simple-webapp:一个Web应用程序, 显示了一个如何使用zuul-core构建应用程序的简单示例。
  • zuul-netflix:这是一个向Zuul添加其他NetflixOSS组件的库。
  • zuul-netflix-webapp:这是一个将zuul-core和zuul-netflix打包在一起的webapp。

设置Zuul API网关服务器

设置Zuul API网关的过程分为三个步骤:

  • 为Zuul API网关创建一个组件
  • 确定Zuul API网关应做的事情
  • 所有重要的请求都配置为通过Zuul API网关传递

请按照以下步骤设置Zuul API网关服务器。

步骤1:打开Spring Initializr https://start.spring.io。

步骤2:提供群组名称。我们提供了com.srcmini.microservices。

步骤3:提供工件。我们提供了netflix-zuul-api-gateway-server。

步骤4:添加以下依赖项:Zuul, Eureka Discovery, Actuator和DevTools。

Zuul API网关

步骤5:点击Generate(生成)按钮。它将开始将项目打包为zip文件并下载。

Zuul API网关

第6步:解压缩zip文件并将其粘贴到Spring Tool Suite的工作区中。

步骤7:在STS IDE中导入项目。

文件->导入->现有Maven项目->浏览->选择netflix-zuul-api-gateway-server->选择文件夹->完成

导入需要一些时间。

步骤8:打开NetflixZuulApiGatewayServerApplication.java文件, 并分别使用注释@EnableZuulProxy和@EnableDiscoveryClient启用zuul代理和发现客户端。

NetflixZuulApiGatewayServerApplication.java

package com.srcmini.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


赞(0)
未经允许不得转载:srcmini » Zuul API网关介绍

评论 抢沙发

评论前必须登录!