springcloud gateway 网关

简介: springcloud gateway 网关

spring gateway 配置

引入依赖

<!-- gateway网关 -->
<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>

注意:Spring Cloud Gateway 是由 WebFlux + Netty + Reactor 实现的响应式的 API 网关。它不能在传统的 servlet 容器中工作,也不能构建成 war 包

配置yml 文件

server:
  port: 8099
spring:
  application:
    name: gateway-server
    # 配置nacos注册中心地址
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        namespace: 2a57e550-6295-4269-b1b4-268c46021020
    gateway:
      discovery:
        locator:
          enabled: true
      # 是否开启网关
      enabled: true

    测试,验证  请求 通过网关入口 服务名的方式 进行请求接口

    http://localhost:8099/user-server/user/list  

    user-server 是 用户服务模块的应用名

    输出结果

    {"msg":"success","code":0,"page":{"totalCount":0,"pageSize":10,"totalPage":0,"currPage":1,"list":[{"id":1,"username":"九歌","age":12},{"id":2,"username":"小武","age":22},{"id":3,"username":"唐三","age":23},{"id":4,"username":"萧炎","age":18},{"id":5,"username":"即舞夜","age":19}]}}

    网关的应用配置简单,主要是同一个注册中心的话, 都能通过网关进行调用请求对应的服务

    工作原理

    Spring Cloud Gateway 的工作原理跟 Zuul 的差不多,最大的区别就是 Gateway 的 Filter 只有 pre 和 post 两种。


    客户端向 Spring Cloud Gateway 发出请求,如果请求与网关程序定义的路由匹配,则该请求就会被发送到网关 Web 处理程序,此时处理程序运行特定的请求过滤器链。

    过滤器之间用虚线分开的原因是过滤器可能会在发送代理请求的前后执行逻辑。所有 pre 过滤器逻辑先执行,然后执行代理请求;代理请求完成后,执行 post 过滤器逻辑。

    更多使用官网走一波


    https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-starter


    目录
    相关文章
    |
    6天前
    |
    监控 负载均衡 Java
    深入理解Spring Cloud中的服务网关
    深入理解Spring Cloud中的服务网关
    |
    1天前
    |
    Kubernetes 监控 Java
    有了k8s还需要gateway网关,nacos配置中心吗
    在Kubernetes环境中,服务网关(如Spring Cloud Gateway)和Nacos配置中心补充了k8s的不足。Nacos提供灵活服务路由和动态配置更新,超越k8s基础服务发现。它还支持更复杂的配置管理和实时推送,以及环境隔离和版本控制。作为服务注册中心,Nacos增强k8s服务治理能力,保持技术一致性,并提供额外的安全层及监控功能。
    |
    8天前
    |
    监控 负载均衡 Java
    深入理解Spring Cloud中的服务网关
    深入理解Spring Cloud中的服务网关
    |
    10天前
    |
    网络协议 应用服务中间件 网络安全
    [已解决]504 Gateway Time-out 网关超时
    [已解决]504 Gateway Time-out 网关超时
    11 0
    |
    17天前
    |
    Java API 开发者
    Spring Cloud Gateway中的GlobalFilter:构建强大的API网关过滤器
    Spring Cloud Gateway中的GlobalFilter:构建强大的API网关过滤器
    23 0
    |
    17天前
    |
    监控 Java API
    Spring Cloud 之 GateWay
    Spring Cloud Gateway 作为API网关,处理客户端与微服务间的非业务逻辑,如权限验证、监控、路由转发。它通过Route(含ID、目标URI、Predicate和Filter)、Predicate(匹配请求条件)和Filter(请求前/后处理)实现动态路由。工作流程包括客户端请求-&gt;Gateway Handler Mapping-&gt;过滤器链-&gt;服务转发-&gt;响应过滤-&gt;回客户端。过滤器用于请求拦截、响应处理,如参数校验、权限检查。动态路由允许以服务名创建路由,实现服务发现。预设和全局过滤器用于特定或所有路由的定制逻辑,例如登录验证和请求头管理。
    |
    18天前
    |
    Java Nacos 网络架构
    Spring Cloud gateway 网关四 动态路由
    Spring Cloud gateway 网关四 动态路由
    |
    20天前
    |
    微服务
    springCloud之路由网关gateway
    springCloud之路由网关gateway
    13 0
    |
    2月前
    |
    运维 网络协议 安全
    长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
    本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
    178 1
    |
    8月前
    |
    负载均衡 应用服务中间件 API
    微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
    微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
    83 0