Spring Cloud:什么是网关Zuul

Spring Cloud微服务架构中,如果要添加一些公共的操做,比如权限校验、审计、监控等怎么办?在以往的SprngMvc中,我们可以通添加过滤做一些通用的操作。那么在Spring Cloud微服务架构中我们有没有这样的机制呢?当然,Zuul组件就可以干这些事情。

什么是Zuul?

Zuul是Netflix核心组件,是基于JVM的路由器和服务器端负载均衡器。

Zuul有什么用?

  • Authentication 鉴权

  • Insights 审计监控

  • Stress Testing 压力测试

  • Dynamic Routing 动态路由

  • Service Migration 服务迁移

  • Load Shedding 负载分配

  • Security 安全

  • Static Response handling 静态响应

如何使用?

  • 创建一个普通应用book,并注册到eureka注册中心

Spring Cloud:什么是网关Zuul

Spring Cloud:什么是网关Zuul

  • 创建网关应用zuulgateway,引入Zuul组件依赖

Spring Cloud:什么是网关Zuul

  • 创建网元应用zuulgateway主类

Spring Cloud:什么是网关Zuul

  • 主类加上@EnableZuulProxy注解,开启Zuul组件

  • @Bean注解创建两个过滤器AwesomePreFilter、AwesomePostFilter,两个过滤器都继承自Zuul组件的ZuulFilter,并实现了filterType、filterOrder、shouldFilter、run方法。

Spring Cloud:什么是网关Zuul

Spring Cloud:什么是网关Zuul

  • 配置网元应用zuulgateway代理的路由zuul.routes.books.url=http://localhost:9006,网关应用端口为9007

Spring Cloud:什么是网关Zuul

  • 先后启动eureka、book、zuulgateway应用

Spring Cloud:什么是网关Zuul

  • 通过网关访问book应用的接口服务http://localhost:9007/books/available,控制台看到AwesomePrefilter、AwesomePostFilter打印的日志

Spring Cloud:什么是网关Zuul

Spring Cloud:什么是网关Zuul

Zuul组件简单使用就介绍到这里,点赞、分享哦,谢谢~~

Spring Cloud:什么是网关Zuul


分享到:


相關文章: