Zuul2网关介绍及案例(非spring集成)

目录

一.使用缘由

二.项目介绍

1.核心内容

(1)三种过滤器 Inbound、Endpoint 、Outbound 

(2)配置文件application.properties

(3)动态配置application.properties

2.参考文档


一.使用缘由

公司需要在springcloudgateway和zuul2间做一次较为完整的调研对比,选取其一作为满足我们需求的网关,我接到的任务是搭建自己本地的zuul2项目。

本文目的不在于网关的对比,而在于zuul2 sample项目的简略使用介绍(后面有可供使用的代码地址)。

此外,网络上zuul2的正确文档少之又少,希望能帮助有需要的人少走弯路

 

二.项目介绍

1.核心内容

(1)三种过滤器 Inbound、Endpoint 、Outbound 

Zuul2网关介绍及案例(非spring集成)_第1张图片

描述:

  • Inbound Filters :在路由到源之前执行
  • Endpoint Filters :可用于返回静态响应
  • Outbound Filters :在来源获取响应后执行

重点:

  1. 它的filter使用的语言不是java,而是groovy
  2. 它的filter是可以动态更新的,也就是说,你编辑或新增filter不需要重启服务器。

(2)配置文件application.properties

Zuul2网关介绍及案例(非spring集成)_第2张图片

application.properties是他提供的默认配置文件,项目的启动和使用都基于它。

重点:

  1. 主要功能:请求的转发。是基于配置中的ribbon和虚拟路由vip实现的(详见文件内容)
  2. 它提供两种启用方式,可以选择注册到eureka或者直接通过自身启用。两种的使用差别在于,是通过端口去调用,还是通过serviceId去调用。
  3. 使用条件:项目http://localhost:8091/users、http://localhost:8093/test 能被post请求并成功响应。
  4. 若使用eureka,则此处配置的eureka地址为:http://localhost:8111/eureka/
  5. 上面两个条件的参数可以自己配置

(3)动态配置application.properties

通过集成Netflix Archaius用于动态属性管理。

本项目的具体实现是:以轮询的方式,隔一段时间从网络上获取properties配置,同时更新项目中的properties配置。

这是它的实现过程:

Zuul2网关介绍及案例(非spring集成)_第3张图片

 

Zuul2网关介绍及案例(非spring集成)_第4张图片

这些配置完成后,首先会在启动项目时获取一次配置文件,此后会根据定义的轮询时间获取一次配置文件。

 

2.参考文档

若有些不清晰的内容,可以通过这些参考文档详细了解zuul2。

官网:https://github.com/Netflix/zuul/wiki

指导示例:https://github.com/dashprateek/zuul2-sample

指导博客:https://thebackendguy.com/netflix-zuul-2-api-gateway-sample/

动态配置指导 博客:https://blog.csdn.net/upupuptp/article/details/74003901

项目指导人:https://me.csdn.net/yejingtao703

 

备注:

  1. 由于个人能力有限,很多思维阻塞的地方都是老大哥指导的,相信他会写出更多与此相关的、更为完善的博客内容,与老大哥共事,可谓受益匪浅。这是他的博客地址:https://me.csdn.net/yejingtao703     欢迎点赞转发。
  2. 如果该文档或该simple项目对您有用,还望点个赞。
  3. 代码若有不完善之处,还望指出。
  4. 这是代码地址:https://github.com/2775468731/zuul-sample.git

 

 

你可能感兴趣的:(Netflix,ZUUL2,网关)