首页 > 其他分享 >Spring框架 配置Gateway网关/spring cloud gateway 基础入门案例教程

Spring框架 配置Gateway网关/spring cloud gateway 基础入门案例教程

时间:2024-07-31 21:53:10浏览次数:14  
标签:网关 请求 Spring starter spring gateway cloud

文章目录

概要

网关作为微服务集群唯一的对外入口,可以实现很多功能.

例如:

统一的解决跨域(一个ajax请求 origin域名和请求目标url中域名不同,ip不同,域名不同,端口不同,都会引发的问题)问题.

统一的身份认证.认证解析JWT.

如果网关能够结合一些其它的插件 可以实现入口流量控制(sentinel).做到监控预警(Prometheus)等

网关的落地方案(Spring cloud gateway),还有其它选择

  1. netflix zuul: 原来比较火的一个网关组件,但是netflix奈飞停更了,zuul2流产了.
  2. Kong: 也是一种选择
  3. Nginx: 反向代理网关,并发能力,速度都可以保证. 一般要配合网关组件实现更前端的入口控制

spring cloud gateway 实现的具体功能:

  • 请求转发: 网关不具备处理某个请求的能力,所以一定要转发给微服务.
  • 路由匹配: (网络路由表示 端到端的路径网络选择)根据请求条件(包括地址,,),功能判断具体由哪个服务来完成这次处理.
  • 过滤器(拦截功能): 可以在过滤逻辑中,对请求做自定义的逻辑处理(比如验证身份.记录请求次数,记录并发)

配置流程

第一步创建一个新的子工程和第二步添加main启动类

第三步添加依赖

<!--spring boot web环境-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--gateway 依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--nacos-client 注册中-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--http负载均衡组件-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

第四步配置启动信息yml文件信息

server:
  port: 30000
spring:
  application:
    name: medical-gateway
  #切换一下底层web容器类型
  main:
    web-application-type: reactive

第五步启动启动类,如果启动报错请参考技术细节有详细讲解问题解决

技术细节

出现以下启动问题 这个报错通常是由于在使用 Spring Boot 中的 WebFlux(响应式编程)时,缺少了 Reactive Web 服务器工厂(ReactiveWebServerFactory)的配置而导致的

解决方式如图所示:先清除一下,再编译

第一步骤:

执行命令:mvn clean compile -X

第二步骤:

第三步骤:重启idea,再运行

如果以上还不行,可以私信给作者帮你解决或者关注《全栈鍾猿》公众号私信作者解决哦

小结

标签:网关,请求,Spring,starter,spring,gateway,cloud
From: https://blog.csdn.net/weixin_61958028/article/details/140782168

相关文章

  • Spring Cloud Gateway 实现 gRpc 代理
    SpringCloudGateway在3.1.x版本中增加了针对gRPC的网关代理功能支持,本片文章描述一下如何实现相关支持.本文主要基于SpringCloudGateway的官方文档进行一个实践练习。有兴趣的可以翻看官方文档。由于Grpc是基于HTTP2协议进行传输的,因此SrpingCloudGateway......
  • Javaweb项目|基于SpringBoot的企业客户管理系统的设计与实现【源码+论文+PPT+部署视频
    我们提供多元化的技术项目服务,涵盖Java、PHP、Python等编程语言,以及前端开发、人工智能、大数据、单片机开发、ASP.NET、物联网等领域。我们还提供简历模板、面试题库和学习资料,帮助用户提升技术能力和就业竞争力。我们的服务内容包括:免费功能设计、任务书和开题报告撰写、中......
  • Javaweb项目|springboot基于JavaWeb技术的在线考试系统设计与实现【源码+论文+PPT+部
    我们提供多元化的技术项目服务,涵盖Java、PHP、Python等编程语言,以及前端开发、人工智能、大数据、单片机开发、ASP.NET、物联网等领域。我们还提供简历模板、面试题库和学习资料,帮助用户提升技术能力和就业竞争力。我们的服务内容包括:免费功能设计、任务书和开题报告撰写、中......
  • Javaweb项目|基于SpringBoot的企业客户管理系统的设计与实现
    收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示 基于基于SpringBoot的企业客户管理系统的设计与实现开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:springboot024一、系统展示二......
  • Javaweb项目|springboot基于JavaWeb技术的在线考试系统设计与实现
    收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示 基于springboot基于JavaWeb技术的在线考试系统设计与实现开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:springboot072一、系统展......
  • 57_Redis与Springboot的集合应用
    前提要实现,使用Redis存储登录状态需要一个完整的前端后端的项目前端项目搭建解压脚手架安装依赖配置请求代理选做:禁用EsLint语法检查VueAdminTemplate关闭eslint校验,lintOnSave:false设置无效解决办法_lintonsave:false-CSDN博客后端项目搭建创建springboot项......
  • Profibus转EtherCAT协议转化网关(功能与配置)
    如何能够把Profibus和EtherCAT通讯连接起来?这几天有几个客户朋友咨询到这个问题,作者在这里统一为大家回复一下。想要解决这个问题其实也非常简单,只需要用到一个设备,名为JM-DPM-ECT。下面作者为大家详细讲解一下该设备的主要功能及详细配置方法。一,设备主要功能捷米特JM-DPM-......
  • 基于SpringBoot+Vue+uniapp的网上花店设计(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • springboot自学(5)自定义starter
      测试文件可以删除掉了,配置文件改一下后缀修改pom业务代码开发添加自动配置类,并且加上spring.factories到此为止就初步完成了,install到本地的maven仓库然后在使用的项目里加上依赖就行了导入项目,并调用定时任务报表开发先做个表格的打印方法表格......
  • 计算机Java项目|基于SpringBoot的科研工作量管理系统
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业......