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注册中心

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

创建网元应用zuulgateway主类

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

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

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

先后启动eureka、book、zuulgateway应用

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

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