统一网关GateWay

一、网关作用介绍

为什么需要网关?

网关功能:

  • 身份认证和权限校验
  • 服务路由、负载均衡
  • 请求限流

在SpringCloud中网关的实现包括两种:

  • Gateway
  • Zuul

Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于SpringCloud5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

二、快速入门

搭建网关服务

搭建网关服务的步骤:

1、创建新的moudule,引入SpringCloudGateway的依赖和Nacos的服务发现依赖

XML 复制代码
<!--        网关依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
<!--        nacos 服务发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2、编写路由配置及Nacos地址:

XML 复制代码
server:
  port: 10010 # 网关端口
spring:
  application:
    name: gateway # 服务名称
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848 # nacos地址
    gateway:
      routes: # 网关路由配置
        - id: user-service # 路由id,自定义,只要唯一即可
#          uri: http://127.0.0.1:8081 # 路由的目标地址,http就是固定地址
          uri: lb://userService # 路由的目标地址,lb就是负载均衡,后面跟服务名称
          predicates: #路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/user/** #这个是按照路径匹配,只要请求以/user开头,就符合要求
        - id: order-service
          uri: lb://orderService
          predicates:
            - Path=/order/**

三、路由断言工厂

四、路由的过滤器GatewayFilter

五、全局过滤器

相关推荐
Cx330❀11 分钟前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程
Gl�ria1 小时前
Linux 清理日志常用命令
linux·运维·服务器
天道jimmy2 小时前
VulnHub 系列:HA, Wordy
linux·服务器·web安全
君生我老2 小时前
Linux中调式器gbd/cgdb
linux
两斤牛肉一壶酒3 小时前
opencode 技能加载全挂背后,竟是不用系统的ripgrep
linux
j7~3 小时前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
天道jimmy3 小时前
VulnHub 系列:Prime,1
linux·运维·服务器
xiaoye-duck3 小时前
《Linux 网络编程》深入传输层 UDP 协议原理:端口、报文、缓冲区与内核源码解析
linux·网络·udp
好评1244 小时前
【Linux】数据链路层
linux·运维·网络
辻弋2014 小时前
自动检测硬件生成驱动清单、实时监控FPS、120秒性能记录——30+项优化模块化开关,所有改动可精确复原
服务器·windows·游戏引擎·电脑·开源软件