SpringCloudAlibaba项目之GateWay网关

SpringCloudAlibaba项目之GateWay网关

SpringCloudAlibaba随笔目录

一、SpringCloudAlibaba项目之父工程搭建

二、SpringCloudAlibaba项目之Nacos搭建及服务注册

三、SpringCloudAlibaba项目之生产者与消费者

四、SpringCloudAlibaba项目之Ribbon负载均衡

五、SpringCloudAlibaba项目之OpenFeign远程调用

六、SpringCloudAlibaba项目之Nacos-config配置中心

七、SpringCloudAlibaba项目之Sentinel流量控制

八、SpringCloudAlibaba项目之Seata分布式事务

九、SpringCloudAlibaba项目之GateWay网关

十、SpringCloudAlibaba项目之SkyWalking链路

 

SpringCloudAlibaba项目之GateWay网关

1、什么是API 网关

  (1)定义

  网关的角色是作为一个 API 架构,用来保护、增强和控制对于 API 服务的访问。API 网关是一个处于应用程序或服务(提供 REST API 接口服务)之前的系统,用来管理授权、访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的调用者透明。因此,隐藏在 API 网关后面的业务系统就可以专注于创建和管理服务,而不用去处理这些策略性的基础设施。

  (2)职能

   (3)分类与功能

2、GateWay

  (1)简介

  Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。

  github:https://github.com/apex/gateway

  (2)为什么使用Gateway

  Spring Cloud Gateway 可以看做是一个 Zuul 1.x 的升级版和代替品,比 Zuul 2 更早的使用 Netty 实现异步 IO,从而实现了一个简单、比 Zuul 1.x 更高效的、与 Spring Cloud 紧密配合的 API 网关。
  Spring Cloud Gateway 里明确的区分了 Router 和 Filter,并且一个很大的特点是内置了非常多的开箱即用功能,并且都可以通过 SpringBoot 配置或者手工编码链式调用来使用。
比如内置了 10 种 Router,使得我们可以直接配置一下就可以随心所欲的根据 Header、或者 Path、或者 Host、或者 Query 来做路由。
比如区分了一般的 Filter 和全局 Filter,内置了 20 种 Filter 和 9 种全局 Filter,也都可以直接用。当然自定义 Filter 也非常方便。

  (3)概念

 3、快速使用

pom.xml依赖

<!-- nacos 服务注册发现(客户端)依赖 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- gateway 网关依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » SpringCloudAlibaba项目之GateWay网关