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组件简单使用就介绍到这里,点赞、分享哦,谢谢~~
閱讀更多 Lucif墮落天使 的文章