@EnableZuulServer的用例

时间:2016-12-31 10:31:06

标签: netflix-zuul spring-cloud-netflix

我想知道@EnableZuulServer会提供什么用例?

在我的情况下,我想将ZuulFilter框架用于微服务,并且在通过Zuul Filter框架之后调用控制器上的spring handlerMappings。不希望代理转发。

这可能吗?怎么样?我们可以在此方案中使用@EnableZuulServer模式吗?我没有找到太多文档来了解@EnableZuulServer的工作原理。

有人可以解释和帮助吗?

2 个答案:

答案 0 :(得分:3)

来自Spring Cloud Netflix文档:

  

Spring Cloud Netflix根据其安装了许多过滤器   注释用于启用Zuul。 @EnableZuulProxy是。的超集   @EnableZuulServer。换句话说,@EnableZuulProxy包含所有内容   由@EnableZuulServer安装的过滤器。中的附加过滤器   "代理"启用路由功能。如果你想要一个"空白" Zuul,你   应该使用@EnableZuulServer

基于此,您的问题的答案是:是的。

您可以添加@EnableZuulServer注释,但不会获得代理转发,但您仍然可以使用ZuulFilter框架。

也就是说,如果您只想过滤请求和回复,可以使用标准Servlet FilterFilterRegistrationBeanrelevant javadoc

就用例而言,当您需要比@EnableZuulServer提供的更多自定义行为时,您可以使用@EnableZuulProxy

因此,例如,可能出于调试目的,您希望能够支持请求标头,该请求标头在请求来自特定IP范围内时将您的请求代理到指定的主机。

答案 1 :(得分:0)

来自Spring Cloud Netflix文档:

  

在这种情况下,仍然指定进入Zuul服务器的路由   配置“zuul.routes。*”,但没有服务发现没有   代理,因此“serviceId”“url”设置被忽略