SpringCloudNetflix-zuul

目录

一、服务网关-spring cloud zuul

1.理解zuul

1.1.为什么要zuul

1.2.什么是zuul

2.zuul的搭建

2.1.导入依赖

2.2.配置开开启Zuul

2.3.配置文件配置zuul

3.自定义zuul的Filter

3.1.zuul的工作原理

3.2.ZuulFilter

3.3.自定义Filter

4.zuul的参数配置

4.1.超时配置

4.2.zuul的饥饿加载


一、服务网关-spring cloud zuul

1.理解zuul

1.1.为什么要zuul

试想一下如果我们有很多的微服务,他们都需要登录之后才能访问,那么我需要在每个微服务都去做一套登录检查逻辑,这样是不是会存在大量重复的代码和工作量,我们希望的是把登录检查这种公共的逻辑进行统一的抽取,只需要做一套检查逻辑即可,而zuul就可以用来干这类事情,我们可以把zuul看做是微服务的大门,所有的请求都需要通过zuul将请求分发到其他微服务,根据这一特性我们就可以在zuul做统一的登录检查,下游的微服务不再处理登录检查逻辑。

1.2.什么是zuul

Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet(filter)应用。Zuul 在云平台上提供动态路由(请求分发),监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka,用一张图来理解zuul在架构中的的角色:

 

需要注意的是,zuul本身是一个独立的服务,默认集成了Ribbon,zuul通过Ribbon将客户端的请求分发到下游的微服务,所以zuul需要通过Eureka做服务发行,同时zuul也集成了Hystrix。

根据上图理解 ,我们需要建立独立的工程去搭建Zuul服务,同时需要把Zuul注册到EurekaServer,因为当请求过来时,zuul需要通过EurekaServer获取下游的微服务通信地址,使用Ribbon发起调用。

2.zuul的搭建

搭建zuul工程springcloud-zuul-server-1060 ,搭建好的工程模块如下:

<modules>
<module>springcloud-netflix-eureka</module>
<module>springcloud-netflix-server-user</module>
<module>springcloud-netflix-server-order</module>
<module>springcloud-netflix-common</module>
<module>springcloud-netflix-server-pay</module>
<module>springcloud-netflix-server-zuul</module>
</modules>

2.1.导入依赖

因为Zuul需要通过Eureak做服务发现,所以我们导入了eureka-client基础依赖,和Zuul自身的基础依赖:netflix-zuul

   <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

2.2.配置开开启Zuul

配置类通过 @EnableZuulProxy 注解开启zuul服务功能。

@SpringBootApplication
//开启zuul服务功能--代理
@
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值