多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # Zuul网关架构 ![](https://box.kancloud.cn/18adb3e66cedfa991acbead83c8ae970_1150x832.png) 请求过来,先到Servlet,然后到拦截器Runner(管理过滤器)这边,然后会走前置过滤器,然后走路由过滤器,最后走后置过滤器 前置过滤器,做日志记录(调用了那个功能) 路由过滤器,找到目标服务并调用 后置过滤器:事后处理,日志处理,统计,回到客户端 过滤器很核心,比如我们业务经常变,可以灵活配置过滤器,这些过滤器可以灵活插拔 <br> 开发完过滤器,可以把过滤器上传到过滤器存储数据库中,然后又个poller,他会发现有没有新的,有新的,他会把新的上传到过滤器目录中 然后上层过滤器文件管理器,他会定期扫这个过滤器目录,有新的会上传到Filter loader中,然后Filter loader会把这个过滤器加载到Filter Runner,Filter Runner把这个过滤器放到指定位置 <br> 如果不同过滤器要分享些信息,可以用Request Context,利用这个可以共享些信息 # 详解 ![](https://box.kancloud.cn/0fc714c1ce4966d8f095075b9162d860_1498x905.png) 流程抽出来 先走前置过滤器,可以加自己定义的filter routing filters调用后台微服务 后置过滤器,如果整个流程有错误,会抛给error filters,这个error filters会做相应的错误处理 # 思考 设计个反爬虫的过滤器,那么这个过滤器是放在那个呢?