【Spring Cloud】Gateway的配置与使用

这篇具有很好参考价值的文章主要介绍了【Spring Cloud】Gateway的配置与使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Gateway其实是springcloud 原生的东西,但是我还是想放在这里讲,因为我们使用nacos时,前端调用服务之后,一般会调用到我们的网关上面,然后网关选择我们的nacos服务,再调用后端的服务

在当今微服务架构中,网关起着至关重要的角色。它充当着应用程序和外部世界之间的门户,处理来自客户端的请求并将其转发到适当的微服务。而Spring Cloud Gateway作为Spring Cloud生态系统中的一员,为我们提供了一个强大而灵活的网关解决方案。本文将深入探讨Spring Cloud Gateway的配置与使用,帮助读者更好地理解并应用这个优秀的网关工具。

【Spring Cloud】Gateway的配置与使用

🌏第一步,创建一个springboot工程

【Spring Cloud】Gateway的配置与使用

🌏第二步,添加依赖

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR6</spring-cloud.version>
        <spring-cloud-alibaba.version>2.1.0.RELEASE</spring-cloud-alibaba.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

🌏第三步,编写yml文件

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.0.93:8848
    gateway:
      routes:
        - id: service-provider
          uri: lb://service-provider
          predicates:
            - Path=/provider/** #以provider开头的请求都负载到provider服务
          filters:
            - RewritePath=/provider/(?<segment>.*), /$\{segment} #过滤掉url里的provider,例如http://ip:port/provider/getCity -> http://ip:port/getCity
  application:
    name: gateway
server:
  port: 8999

解读配置文件:

  • RewritePath:过滤掉url里的provider,例如http://ip:port/provider/getCity -> http://ip:port/getCity
  • Path:以provider开头的请求都负载到provider服务
  • id:route的唯一id
  • uri:需要返回的nacos中间的服务

这是我们的nacos控制台,里面有一个service-provider服务,他负责提供api

【Spring Cloud】Gateway的配置与使用

所以yml里面的routes我们配置uri为lb://service-provider

假如前端要访问我们的服务,他只需要访问http://localhost:8999/provider就好,他是以provider开头,所以
Path这里我们配置为- Path=/provider/**

但是我们服务提供者提供的api为/echo/{string},所以我们需要去掉provider,因此RewritePath配置为/provider/(?<segment>.*), /$\{segment}

🌏第四步,启动主启动类

【Spring Cloud】Gateway的配置与使用
之后网关服务就会被注册到nacos中

【Spring Cloud】Gateway的配置与使用
然后就可以通过我们的gateway服务访问我们nacos中的服务了

【Spring Cloud】Gateway的配置与使用
提供者提供的api如下

【Spring Cloud】Gateway的配置与使用

官网:
https://spring.io/projects/spring-cloud-gateway
仓库地址:
https://gitee.com/WangFuGui-Ma/spring-cloud-alibaba/tree/master

通过本文的介绍,我们了解了Spring Cloud Gateway的核心概念和基本配置。它的灵活性和可扩展性使得它成为构建可靠、高性能微服务架构的理想选择。希望本文对于读者们在使用Spring Cloud Gateway时有所帮助,并能够加深对该组件的理解和运用。愿您在未来的项目中,能够借助Spring Cloud Gateway轻松实现安全、高效的网关服务。

【Spring Cloud】Gateway的配置与使用文章来源地址https://www.toymoban.com/news/detail-491597.html

到了这里,关于【Spring Cloud】Gateway的配置与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud Gateway 路由配置策略

    Spring Cloud Gateway 是一个基于 Spring Boot 2.x 和 Spring WebFlux 的轻量级网关服务,用于构建微服务架构中的 API 网关。它提供了一种简单、高效、灵活和可扩展的方式来路由请求到后端的微服务。 Spring Cloud Gateway 的核心特性包括: 路由功能:可以根据请求的属性(路径、参数等)将

    2024年01月20日
    浏览(34)
  • Spring Cloud Gateway:配置HTTP超时

    可以为所有路由配置HTTP超时(响应和连接),并针对每个特定路由进行覆盖配置。 1.全局超时时间配置 您可以为Spring Cloud Gateway配置全局的超时时间,以应用于所有路由。这样可以确保所有请求在特定时间内完成,无论是否针对每个路由进行了单独的超时配置。 要配置全局

    2024年02月16日
    浏览(27)
  • spring cloud gateway中配置uri

    gateway中配置uri配置有三种方式: websocket方式:uri: ws://localhost:9000 http方式: uri: http://localhost:8130/ lb注册中心配置方式(注册的服务名称): uri: lb://monitor-ms gateway的lb方式识别的服务名称命名规则:

    2024年02月12日
    浏览(32)
  • spring cloud gateway跨域配置CORS Configuration

    表象看:浏览器上的 IP,域名,端口 和你页面内请求的IP,域名,端口 之间组合不一致。这说法不够严谨,但不是本文的重点,更多概念自行检索。 spring-cloud-gateway3.x.x为例 官方说明 Spring Cloud Gateway 配置参数说明:CorsConfiguration (Spring Framework 5.0.20.RELEASE API)    附中文文档说明

    2024年02月13日
    浏览(27)
  • Spring Cloud Gateway系例—参数配置(CORS 配置、SSL、元数据)

    你可以配置网关来控制全局或每个路由的 CORS 行为。两者都提供同样的可能性。 “global” CORS配置是对 Spring Framework CorsConfiguration 的URL模式的映射。下面的例子配置了 CORS。 Example 77. application.yml 在前面的例子中,对于所有GET请求的路径,允许来自 docs.spring.io 的请求的CORS请求

    2024年02月13日
    浏览(37)
  • 如何在 Spring Cloud 项目中配置 Gateway 的详细说明

    在 Spring Cloud 中,可以使用 Spring Cloud Gateway 作为 API 网关。以下是如何在 Spring Cloud 项目中配置 Gateway 的详细说明: 添加依赖 在 pom.xml 文件中添加 spring-cloud-starter-gateway 依赖: 同时,确保你的项目已经添加了 Spring Cloud 的依赖管理: ${spring-cloud.version} 是你使用的 Spring Cloud 版

    2024年02月12日
    浏览(21)
  • Spring-cloud-gateway 路由配置方式及匹配规则

    1.1 基础路由配置⽅式 如果请求的⽬标地址,是单个的URI资源路径,配置⽂件实例如下: 各字段含义如下。 id:我们⾃定义的路由 ID,保持唯⼀ uri:⽬标服务地址 predicates:路由条件,Predicate 接受⼀个输⼊参数,返回⼀个布尔值结果。该接⼝包含多种默 认⽅法来将 Predicate

    2024年02月04日
    浏览(29)
  • Spring Cloud Gateway集成Nacos作为注册中心和配置中心

    本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建,服务注册中心和分布式配置中心使用Nacos,后续将会持续更新,介绍集成Sentinel,如何做日志链路追踪,如何做全链路灰度发布设计,以及Spring Cloud Gateway的扩展等。 ​ Spring Boot,Spring Cloud,Discovery,Config等基础依

    2024年02月11日
    浏览(32)
  • Spring Cloud Gateway的快速使用

    环境前置搭建Nacos:点击跳转 Spring Cloud Gateway Docs 新建gateway网关模块 pom.xml 导入依赖     编写启动类 GatewayApplication.java (不是新模块就不用编写)     application.yml 配置gateway     完成以上配置,直接启动即可,访问 http://localhost:10010     GatewayFilter Factories 过滤器工厂:Gat

    2024年02月11日
    浏览(34)
  • 从0到1带大家搭建spring cloud alibaba 微服务大型应用框架(六)(gateway篇)spring cloud gateway 远程漏洞原因升級到3.1.1完整配置

    Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)发生在Spring Cloud Gateway应用程序的Actuator端点,其在启用、公开和不安全的情况下容易受到代码注入的攻击。攻击者可通过该漏洞恶意创建允许在远程主机上执行任意远程执行的请求。 影响范围 Spring Cloud Gateway 3.1.1 Spring Cloud

    2023年04月08日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包