【公众号-奔跑的码畜】Zuul原理图
2021-11-15 15:02:47 5 举报
Zuul原理图浅析
作者其他创作
大纲/内容
是
ThreadLocal.get()获取了一个RequestContext
否
将响应放入RequestContext
执行请求
HttpServletResponseWrapper包裹了ServletResponse(装饰者模式,增强了原生的Servlet)
AbstractRibbonCommand.run()
pre过滤器
RibbonRoutingFilter
常见的Filter
初始化
获取pre类型的过滤器根据优先级来排序
ServiceA
原生的ServletRequest
Spring-web工具类解析URL
HttpClientRibbonCommand.execute()(本质是:HystrixCommand)
是否报错
SendResponseFilter
跟application.yml中的路由规则匹配
post过滤器
ServletDetectionFilterRequestContext:isDispatcherServletRequest=true
ZoneAwareLoadBalancer(负载均衡)
将规则放入RequestContext
责任链模式
SendForwardFilter
调用底层http组件
Servlet30WrapperFilter
error过滤器
是否是post过滤器
Eureka client
DebugFilter
Eureka server
route过滤器
ServiceB
SimpleHostRoutingFilter
ZuulServlet
ILoadBalancer.chooseServer()
PreDecorationFilter
FromBodyWrapperFilter
用户
LocationRewriterFilter
清理掉当前线程额度RequestContext
0 条评论
回复 删除
下一页