专注于Java、Golang、软件架构、项目管理

Back

zuul主要使用责任链设计模式

其中有如下过滤器

pre过滤器

  • -3:ServletDetectionFilter
  • -2:Servlet30WrapperFilter
  • -1:FromBodyWrapperFilter
  • 1:DebugFilter
  • 5:PreDecorationFilter

routing过滤器

  • 10:RibbonRoutingFilter
  • 100:SimpleHostRoutingFilter
  • 500:SendForwardFilter

post过滤器

  • 0:SendErrorFilter
  • 900:LocationRewriteFilter
  • 1000:SendResponseFilter

@EnableZuulProxy为spring cloud中zuul的入口

@EnableCircuitBreaker
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(ZuulProxyMarkerConfiguration.class)
public @interface EnableZuulProxy {

}
java

然后在ZuulProxyAutoConfiguration进行相关类的注册

经过断点调试,核心逻辑为此方法ZuulServlet#service

大致的逻辑就是如此,因为在项目中暂时不准备使用zuul。详细源码以后再进行分析