netflix zuul 是netflix开发的一个EDGE SERVICE。 主要是作为一个API Gateway 服务器,可以实现安全,流量控制等功能。
我看的是1.x的版本,Zuul1.x的实现原理基本是就是一个Servlet 应用。
<!--使用listener 初始化Zuul setting -->
<listener>
<listener-class>com.netflix.zuul.StartServer</listener-class>
</listener>
<!--使用Servlet 拦截请求并做相应的拦截操作 -->
<servlet>
<servlet-name>ZuulServlet</servlet-name>
<servlet-class>com.netflix.zuul.http.ZuulServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>ZuulServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping> <filter>
<filter-name>ContextLifecycleFilter</filter-name>
<filter-class>com.netflix.zuul.context.ContextLifecycleFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>ContextLifecycleFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
具体例子可以参考 netflix 在github上的 simple webapp。
体验的话,可以按照netflix 在github wiki 上文档说明来进行。