SpringCloud(六)搭建Zuul动态服务网关
1.Api网关服务 1.1.网关作用 网关可以拦截客户端所有的请求,对该请求进行权限控制,负载均衡、路由转发、日志管理、监控等。 一般公司的网关分为外网网关和内网网关,外网网关是对公共接口(对外接口)的控制,而内网网关是对内部接口(对内接口)的控制。 一般会把项目(比如会员项目,订单项目等)和zuul网关放在同一个局域网中,只将zuul网关开放一个对外端口,由外部客户端访问,以达到拦截器的作用,可以把微服务项目中的一些公共功能放在网关中,比如权限校验,日志管理等。外部客户端不能直接访问微服务项目,以保证项目的安全性,必须通过网关,由网关进行转发到微服务项目中。功能类似于nginx。 1.2.网关与过滤器区别 网关是拦截所有服务器请求进行控制 过滤器拦截某单个服务器请求进行控制 1.3.Nginx与Zuul的区别 Nginx是采用服务器负载均衡进行转发 Zuul依赖Ribbon和eureka实现本地负载均衡转发 相对来说Nginx功能比Zuul功能更加强大,能够整合其他语言比如lua脚本实现强大的功能,同时Nginx可以更好的抗高并发,Zuul网关适用于请求过滤和拦截等。 1.4.网关分类 1)开放 A pi 开放api(openApi) 企业需要将自身数据、能力等作为开发平台向外开放,通常会以rest的方式向外提供,最好的例子就是淘宝开放平台、腾讯公司的QQ开发平台、微信开放平台。