【了解SpringCloud Gateway微服务网关】

在这里插入图片描述
曾梦想执剑走天涯,我是程序猿【AK】

在这里插入图片描述

简述概要

了解SpringCloud Gateway微服务网关

知识图谱

什么是SpringCloudGateway

  • Spring Cloud官方推出的第二代网关框架,定位于取代Netflix Zuul。相比Zuul来说,Spring Cloud Gate提供更优秀的性能,更强大的功能。(Zuul1.x是同步阻塞的设计,性能低,但2.x版本也基于Netty,zuul2.x版本与springcloudgateway性能差距其实不大)
  • 由WebFlux+Netty+Reactor实现的响应式的API网关。它不能在传统的servlet容器中工作,也不能构建成war包。
  • 目的为微服务架构提供一种简单且有效的API路由的管理方式,并给予Fliter的方式提供网关的基本功能,例如安全认证、监控、限流等。

功能特征

  • 基于 Spring 框架和 Spring Boot 构建
  • 能够匹配任何请求属性上的路由。
  • 谓词(Predicate)和过滤器(Fliter)特定于路由。
  • 断路器集成(Sentinel、Hystrix)
  • Spring Cloud Discovery客户端集成(Nacos、Eruka)
  • 易于编写谓词和过滤器
  • 请求速率限制
  • 路径重写

应用场景

全局性流控
日志统计
防止SQL注入
防止Web攻击
屏蔽工具扫描
黑白IP名单
证书加解密处理
服务级别流控
服务降级与熔断
路由与负载均衡、灰度策略
服务过滤、聚合与发现
权限验证与用户等级策略
业务规则与参数检验
多级缓存策略

核心概念

  • 路由(route)

路由是网关中最基础的部分,路由信息包括一个ID、一个目的URI、一组断言工厂、一组Filter组成、如果断言为真则说明请求的URL和配置的路由匹配。

  • 断言(predicates)

Java8中的断言函数,SpringCloudGateway中的断言函数类型是spring5.0框架中的ServerWebExchange。断言函数允许开发者去定义匹配Http request中的任何信息,比如请求头和参数等。

  • 过滤器(Filter)

SpringCloudGateway中的filter分为Gateway Filter和Global Fliter、Filter可以对请求和响应进行处理。

配置文件

spring:
  cloud:
    # Spring Cloud Gateway 配置项,对应 GatewayProperties 类
    gateway:
      # 路由配置项,对应 RouteDefinition 数组
      routes:
        ## 各个微服务
        - id: system-admin-api # 路由的服务唯一编号
          uri: grayLb://system-server
          predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
            - Path=/admin-api/system/**
          filters:
              - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
        - id: system-app-api # 路由的编号
          uri: gr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AK@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值