最近新项目使用了springcloud框架的maven项目,springcloud是对springboot的封装,zuul智能路由gateway是其中一个很重要的组件,
zuul封装实现了ribbon负载均衡。
其主要功能:
1)可以根据请求url智能分发到不同的业务组件处理;
2)可以利用Filter实现安全检验功能。
先看看转发请求到不同服务的配置吧:
调用服务都经过路由过滤器处理后再转发到指定的业务组件。
然后,过滤器是关键,可以进行安全检验等,以下是检验请求token的有效性:
然后是自定义的过滤器,继承ZuulFilter:
过滤器须重写几个关键的方法,参考源码注释:
这里定义了一个pre前置Filter,其核心run()里处理安全验证的业务逻辑:
这里涉及到服务组件间的调用,须加注释@FeignClient指定要调的服务名。
好了,项目中暂时的实战使用介绍了一点点,目前还有个ribbon负载均衡的问题没解决,首次调用实例化业务组件超时问题,饥饿加载的配置还在研究中,解决后再总结分享吧!
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
暖秋寄语:
高筑墙,广积粮,缓称王!
你若糊涂,便是晴天!
志同道合的朋友,欢迎关注,常来逛逛,一起进步。
领取专属 10元无门槛券
私享最新 技术干货