SpringCloud服务网关Zuul分析①分发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud服务网关Zuul分析①分发相关的知识,希望对你有一定的参考价值。
参考技术A 在SpringCloud中充当服务网关的角色,它包含了鉴权、流量转发、请求统计等等功能Filter是Zuul的核心,用来实现对外服务的控制。Filter的生命周期有4个,分别是 “PRE”、“ROUTING”、“POST”、“ERROR” ,整个生命周期可以用下图来表示。
PRE: 这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等。
ROUTING: 这种过滤器将请求路由到微服务。这种过滤器用于构建发送给微服务的请求,并使用Apache HttpClient或Netfilx Ribbon请求微服务。
POST: 这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端等。
ERROR: 在其他阶段发生错误时执行该过滤器。 除了默认的过滤器类型,Zuul还允许我们创建自定义的过滤器类型。例如,我们可以定制一种STATIC类型的过滤器,直接在Zuul中生成响应,而不将请求转发到后端的微服务。
根据场景需要,我们也可以自定义一些filter,穿插在整个过程的某个阶段,只需要继承ZuulFilter,并且覆盖里面的4个方法就可以了.
application.properties中配置:
# 禁用一些Filter的配置:
zuul.FormBodyWrapperFilter.pre.disable= true
# 路由的配置:
# 配置需要被跳转的地址,/user/**的网址将被分发
zuul.routes.user.path=/user/**
# 重定向的地址:
zuul.routes.user.url=http://127.0.0.1:8081/
以上是关于SpringCloud服务网关Zuul分析①分发的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud --- 服务网关 (Gateway)