只是想要澄清一下 - 在Netflix的Zuul Gateway中,RequestContext对象有两个方法,setSendZuulResponse和removeRouteHost。
首先,有人可以告诉我两者之间的区别。从这个post开始,他们也会这样做,但我找不到描述这些内容的文档(sendZuulResponse和removeRouteHost)。
第二,Zuul过滤器是否会点击资源/原始服务器而不管是否被过滤但只是隐藏了对客户端的响应?根据{{3}}的文档,它说:
"If this value if true then the response should be sent to the client."
我的理由是,如果此值设置为false,则不应将响应发送给客户端;但是,Zuul有响应(???),这意味着它已经发送了请求(如果这是有道理的)。
感谢。
答案 0 :(得分:0)
如果您使用的是Spring Cloud Netflix Zuul依赖项,那么SimpleHostRoutingFilter类(它是进行下游调用的类)仅在满足以下代码时被激活
RequestContext.getCurrentContext().getRouteHost() != null && RequestContext.getCurrentContext().sendZuulResponse();
由此可见,如果路由主机为null或Zuul响应设置为false,则过滤器将不会运行,也不会向下游服务发出请求。