微服务架构核心技术十一

微服务API服务网关——开源网关Zuul

doc: github Zuul
spring cloud中对Zuul做了支持,感兴趣的可以去了解java spring家族


图示:
微服务架构核心技术十一
微服务架构核心技术十一

 servlet运行在tomcat容器中–>http请求会传递给zuulFilter Runer(管理zuul内部的所有过滤器,分为三个层次:前置路由过滤器、路由过滤器、后置路由过滤器)–>请求过来经过前置路由过滤(日志处理),请求到路由过滤器是要找到服务并调用,响应到后置路由过滤器,发送给客户端响应.

 网关经过的流量很大,不能经常部署但需要经常调整逻辑,netflix设计了这种动态插拔的过滤器链.

  后台过滤器puller定期去查看Filter Persistence中是否有新的过滤器,然后上传到过滤器中的目录中,Filter file Manager发现目录变更会让filter loader重新加载到filter runner当中.这是zuul的最大特色,即过滤器动态加载

具体可以查看github解释:how zuul works