一、为什么需要网关
用户发起请求后首先要经过网关来进行身份校验,身份通过才能通过微服务
二、搭建网关步骤
1.引入依赖
2.编写路由配置
最后一行中 predicates属性:断言,也就是指定路径匹配规则,比如下面的,只要路径是/user开头,就会负载均衡到上面的uri属性里面的服务上去,uri中的lb代表loadbalance负载均衡
三、总结
四、断言学习
1.断言工厂
上面搭建网关中,我们只设置了路径匹配断言,其实还有下面这些,可以设置在断言(predicates)中,对用户请求做出限制
2.断言总结
五、(路由、默认)过滤器
用户请求到网关后先通过断言路由到某个微服务,但并不是直接到微服务,而是通过一些过滤器,才能达到微服务,并且服务返回的数据也要通过过滤器才能返回给用户
1.原理
2.例子(共有30多种过滤器)
3.配置默认过滤器(和routes是同一级)
4.过滤器总结(范围)
六、全局过滤器
有些复杂的业务只能通过全局过滤器来完成
1.配置全局过滤器的步骤
写一个类实现GlobalFilter接口,实现里面的方法,在方法里面写业务逻辑,比如下面是写了一个判断请求里面是否包含了某些信息,包含了就放行,不包含就拦截,其中@Order(-1)设置拦截器的优先级