soul网关-5-普通springboot项目接入soul网关的原理

本文详细介绍了如何将普通SpringBoot项目便捷地接入Soul网关,通过添加依赖、配置信息及使用自定义注解实现API注册。文章探讨了接入过程中的原理,包括注解扫描、接口注册、配置读取等步骤,并分析了Soul网关的源码,展示了线程池的使用以及全项目代理的实现方式。
摘要由CSDN通过智能技术生成

如果有多个产品线售卖API,那么他们都会有一些共性的需求,例如签名认证、限速等,为了避免每个产品线重复开发,那么可以实现一个网关系统来统一提供这些功能。

那么大致的流程是这样的:

  • 1.产品线将自己要售卖的API注册到网关管理后台
  • 2.网关管理后台将数据同步到网关系统
  • 3.用户购买了某产品线的API之后,调用API。请求是统一发往网关的。
  • 4.网关对用户请求进行代理,转发给相应的产品线

前几篇笔记里面,学习了soul网关divide插件如何进行请求代理数据同步机制之websocket,对上述步骤里面的2和4有了大概的了解。

在今天的源码学习之前,可以设想一下,假如让我来为各产品线提供一个注册API到网关管理后台的方案的话,可能是这样的:

  • 网关管理后台除了给管理员提供的用于UI界面CRUD的接口之外,还提供一套批量接口,这套批量接口都需要token进行鉴权,token是分发给每个产品线的
  • 产品线使用分配到的token,调用相应的批量接口(批量创建、批量删除、批量更新)等,将自己的API注册到网关管理后台

这个方案的缺点是,有一定的学习成本,提供的接口放在一个文档里面,各个产品线的RD需要自行阅读和学习;接入时间长,从开发到调试到正式接入,至少要两天的时间;对产品线的业务或者业务后台有比较大的侵入性,总要在某个地方有一些代码是将API注册到网关管理后台的。总体来说就是不够无痛。

本文就来学习一下soul网关项目是如何简便地让产品线将要售卖的API注册到网关管理后台的。

首先看一下官方文档里面关于项目接入的介绍,就先看普通的springboot项目如何接入soul网关,很方便,只需要几个步骤就可以,分别是:

  • 在自己的springboot项目的pom里面,加入soul-spring-boot-starter-client-springmvc依赖
	<dependency>
         <groupId>org.dromara</groupId>
         <artifactId>soul-spring-boot-starter-client-springmvc</artifactId>
         <version>${last.version}</version>
     </dependency>
  • 在springboot项目的application.yml里面加入一些配置信息
   soul:
     http:
       adminUrl: http://localhost:9095
       port: 你本项目的启动端口
       contextPath: /http
       appName: http
       full: false  
   # adminUrl: 为你启动的soul-admin 项目的ip
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值