Gateway网关
网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。
API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来
管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起
来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建
和管理服务,而不用去处理这些策略性的基础设施。
Gateway特性:
基于Spring Framework ,Project Reactor 和 Spring Boot 2.0 进行构建;
可以对路由指定 Predicate (断言) 和 Filter (过滤器);
集成Hystrix的断路器功能;
集成 Sring Cloud 服务发现功能;
易于编写的 Predicate(断言) 和 Filter(过滤器);
请求限流功能;
支持路径重写
三大核心概念:
Route(路由)
路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组
成,如果断言为true则匹配该路由
Predicate(断言)
参考的是java8的java.util.function.Predicate开发人员可以匹配HTTP请求中
的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由
Filter(过滤)
指的是Spring框架中GatewayFilter的实例,使用过滤器,可以在请求被路由前或者
之后对请求进行修改。
搭建网关微服务
①:创建微服务模块
②:引入pom依赖
<dependencies>
<!--gateway-->
<dependency>