Spring Cloud Netflix之Zuul

Zuul是什么

Zuul作为Spring Cloud Netflix的网关技术实现。
Spring Cloud Netflix主要使用Zuul做路由转发、限流服务、转发等。

Zuul之路由转发

Zuul应用在微服务场景,每个微服务其实指的就是一个SpringBoot工程,那么每个SpringBoot工程就会有单独的Web容器,则每个Web容器应当有单独的端口(有些不同网络,还会有不同IP地址)应用。

为了使用户更加方便快捷的定位到服务地址,则将所有地址统一到网关地址和端口,然后网关进行统一转发。

例如:

A服务地址为:http://AAA:1000/test

B服务地址为:http://BBB:1001/test

网关地址为:http://Zuul:80/test/{A}

用户只需带参数访问我们的网关,网关进行匹配,转发到对应的服务即可,这就是路由转发功能。

Zuul之限流服务

Zuul还具备限流服务功能,限制规定时间内,客户端的访问量。

zuul: ratelimit: key-prefix: pig-ratelimite enabled: true repository: REDIS behind-proxy: true policies: pig-admin-service: limit: 2 quota: 1 refresh-interval: 3

Zuul之过滤

Zuul具备过滤功能,主要是对一些没有鉴权的服务进行拦截。

例如:

A请求响应,但是该响应需要登录才可访问,我们可以继承过滤器实现检索A是否认证。