zuul-core1.x源码解析
2022-01-18 14:22:50 7 举报
zuul-core源码解析
作者其他创作
大纲/内容
FilterRegistry
请求入口
执行
1、从FilterRegistry获取所有的ZuulFilter,对外提供对应类型的ZuulFilter对象集合2、接收源码或class对象,调用FilterFactory的方法创建ZuulFilter对象3、将动态ZuulFilter注册到FilterRegistry
管理需要动态加载的ZuulFilter:定时轮询源码文件夹,发现新增、修改过的源码文件后,读取文件并将源码编译成class文件,并调用FilterLoader的加载方法
保存所有的ZuulFilter,对外提供注册方法
抽象层,提供基于次数的监控API
HttpServletResponseWrapper
对外接收请求,根据需求选择实现形式
Filter管理
封装HttpServletRequest,将requset参数做缓存处理
ZuulRunner
提供对源码编译的逻辑,可扩展
FilterProcessor
Source File
HttpServletRequestWrapper
FilterFactory
FilterFileManager
zuul提供,对groovy源码编译的支持
DynamicCodeCompiler
ServletFilter形式的请求入口
FilenameFilter
抽象类,监控指标
抽象层,提供基于时间的监控API
zuul提供,对groovy格式文件(后缀名)过滤的支持
全局上下文管理
RequestContext
封装对核心逻辑的调用
核心逻辑,从FilterLoader获取ZuulFilter。依次执行'pre'、'route'、'post'类型的ZuulFilter
ZuulFilter
Tracer
ZuulServlet
TracerFactory
FilterLoader
1、存放本次请求的request、response2、存放请求过程中需要共享的参数变量
基础监控
GroovyFileFilter
ZuulServletFilter
Filter源码文件夹
动态Filter监控
Servlet形式的请求入口
负责提供将class类创建成对象的逻辑,可扩展
核心执行逻辑
GroovyCompiler
提供根据文件名过滤文件的逻辑,可扩展
CounterFactory
收藏
0 条评论
下一页