文章内容输出来源:拉勾教育Java高薪训练营
1. 前言
1.1 说明
现在我们是有三个服务:邮箱、验证码、用户。每个服务都有自己的请求端口。本文我们将引入GateWay网关,做为整个项目的访问入口,然后将流量转发至对应的服务。
1.2 什么是GateWay
GateWay是Spring Cloud的⼀个全新项⽬,⽬标是取代Netflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux等技术开发。GateWay天⽣就是异步⾮阻塞的,基于Reactor模型。
当用户发送一个请求,首先会经过网关,网关根据路由的规则进行匹配,然后将请求转发到指定的服务地址。在这一个过程中,我们还可以做一些像限流、日志、黑白名单等功能。
它主要包括了三大部分:
- 路由(route): ⽹关最基础的部分,也是⽹关⽐较基础的⼯作单元
路由由⼀个ID、⼀个⽬标URL(最终路由到的地址)、⼀系列的断⾔(匹配条件判断)和Filter过滤器(精细化控制)组成 - 断⾔(predicates):通过断言可以匹配Http请求中的所有内容(包括请求头、请求参数等),如果断⾔与请求相匹配则路由
- 过滤器(filter):⼀个标准的Spring webFilter,使⽤过滤器,可以在请求之前或者之后执⾏业务逻辑
2. 创建网关项目
2.1 创建网关项目
- 创建一个maven的模块