〔从零搭建〕API共享平台部署指南

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。
✨杭州奥零数据科技官网:http://www.aolingdata.com
✨Github项目:https://github.com/alldatacenter/alldata
✨Gitee项目:https://gitee.com/alldatacenter/alldata
✨AllData官方手册:https://www.yuque.com/aolingdata/product
✨AllData正式环境:http://43.138.156.44:5173/ui_moat

摘要:
API共享平台基于开源项目 SqlRest 建设,SqlRest是SQL操作转化为Http API的便捷工具,它支持多种数据库,允许用户通过配置 SQL 语句来创建 API,无需编写复杂的后端逻辑。文章内容主要为以下六部分:

一、在线演示环境
二、功能简介
三、源码编译部署安装
四、访问API共享平台平台页面
五、核心部署
六、应用场景

💡Tips:关注「公众号」大数据商业驱动引擎

在这里插入图片描述
🔹AllData数据中台线上正式环境:http://43.138.156.44:5173/ui_moat/
请联系市场总监获取账号密码

在这里插入图片描述

在这里插入图片描述
一、API共享平台基于开源项目SqlRest建设

SqlRest是SQL操作转化为Http API的便捷工具,它支持多种数据库,允许用户通过配置 SQL 语句来创建 API,无需编写复杂的后端逻辑,用户只需选择数据源、输入SQL或脚本、简单path配置即可快速生成API接口。

🔹SqlRest项目地址:https://gitee.com/inrgihc/sqlrest

二、API共享平台功能技术特性:

2.1 SQL直接构建API
通过配置增删查SQL和参数即可生成Http API。

2.2. 多数据库支持
支持常见的20+种数据库,其中包含多款国产数据库无缝兼容,支持接口发布下线。

2.3. 跨表查询
允许开发者通过标准SQL的JOIN等操作直接关联多表数据,无需编写复杂的应用层代码,大幅降低开发门槛与成本。
同时,依托数据库原生优化能力(如索引、执行计划),跨表查询性能高效稳定,尤其适合处理大数据量或复杂关联场景。
最终生成的RESTful API可灵活供前端或其他服务调用,实现数据快速整合与共享,助力企业高效构建低代码、高可用的数据服务层。

2.4. Swagger在线文档
加粗样式支持自动生成swagger-ui的在线接口文档,在线生成token。

2.5. 缓存配置支持
支持 Hazelcast 和 Redis 缓存,提升 API 访问性能。

2.6. 同一告警对接
支持统一告警系统的对接与触发。

三、API共享平台功能特点:

3.1 开发效率提升
减少重复代码编写,缩短开发周期

3.2 技术门槛降低
非全栈开发者也可通过SQL定义接口

3.3 系统灵活性增强
支持复杂业务场景的灵活扩展与维护

在这里插入图片描述
💡部署步骤:
在这里插入图片描述
一、环境准备 --多维度兼容性适配

1.1 基础环境要求:
JCPU:建议采用多核处理器(如Intel Xeon E5系列),以支持高并发API请求处理。

内存:至少16GB RAM,复杂查询场景需扩展至32GB以上。

存储:预留50GB以上磁盘空间,用于存储日志、临时文件及高并发场景下的缓存数据。

网络:千兆以太网接口,确保低延迟数据传输。

1.2 软件依赖配置:
💡操作系统:
Linux:CentOS 7.6+/Ubuntu 20.04 LTS(推荐),需配置SELinux为permissive模式以避免权限冲突。

Windows:Windows Server 2019,需关闭UAC并启用PowerShell远程执行权限。

Java环境:JDK 1.8或更高版本(建议OpenJDK 11 LTS),配置JAVA_HOME环境变量并添加至PATH。

1.3 基础环境要求:
MySQL:下载对应版本的JDBC驱动(如mysql-connector-java-8.0.28.jar),放置于sqlrest/lib/目录。

PostgreSQL:需额外配置pgjdbc-ng-0.9.1.jar以支持高级数据类型映射

1.4 构建工具
Maven 3.6.3+,配置MAVEN_HOME并更新镜像源(如阿里云镜像)以加速依赖下载。

二、源码编译部署获取安装包dat
在这里插入图片描述
三、安全加固措施
关闭不必要的端口(如SSH默认22端口迁移至非标准端口)

配置防火墙规则(如iptables/nftables)仅允许8090-8092端口通信。

启用TLS 1.2+加密,生成自签名证书或申请CA证书绑定至Gateway服务。

四、编译构建 --多平台差异化处理
4.1 Linux/macOS构建:
在这里插入图片描述
参数说明:
-DskipTests:跳过单元测试以加速构建。

-Pprod:启用生产环境配置(如关闭Debug日志级别)

输出文件:
生成target/sqlrest-release-2.5.0.tar.gz,包含编译后的JAR包及配置模板。

4.2 Windows构建
双击build.com脚本,或通过PowerShell执行:
在这里插入图片描述
💡常见问题:

路径空格:若项目路径包含空格(如C:\Program Files),需使用短路径(C:\Progra~1)或引号包裹。

编码冲突:在pom.xml中显式指定UTF-8编码:
在这里插入图片描述

4.3 Dacker镜像构建:
在这里插入图片描述
💡多阶段构建:

基础层:基于openjdk:11-jre-slim安装依赖。

应用层:复制编译后的JAR包及配置文件,设置入口点为java -jar sqlrest.jar。

镜像优化:使用docker-squash工具压缩镜像层,减少体积至200MB以内。

五、部署与运行配置 --高可用与性能调优
5.1 单机部署

解压安装包:
在这里插入图片描述
配置文件修改(/opt/sqlrest/conf/config.ini)
在这里插入图片描述
服务启动:
在这里插入图片描述
5.2 集群部署

💡节点分工:

Manager节点:部署3台(主备模式),通过Zookeeper实现选举。
Executor节点:按业务分区部署(如订单区、用户区),每个节点配置独立数据源。

负载均衡–Nginx配置
在这里插入图片描述
5.3 性能监控

Prometheus集成

修改config.ini启用Metrics端点:
在这里插入图片描述
修改config.ini启用Metrics端点:
在这里插入图片描述
Grafana看板:导入ID为12345的官方模板,实时监控QPS、响应时间及错误率。

六、可选配置 --功能扩展与定制化

6.1 安全增强

API网关鉴权:集成OAuth2.0,修改src/main/java/com/sqlrest/gateway/filter/AuthFilter.java,添加JWT验证逻辑:
在这里插入图片描述
数据脱敏:在SQL语句中通过MASK()函数隐藏敏感字段:
在这里插入图片描述
6.2 多数据源支持

💡数据源路由:
在config.ini中配置多个数据源:
通过注解@DataSource(“order”)指定SQL执行的数据源。
在这里插入图片描述

6.3 插件化扩展

💡自定义函数插件:
实现com.sqlrest.core.plugin.FunctionPlugin接口,注册自定义函数(如MD5_ENCRYPT):

将插件JAR包放置于plugins/目录,重启服务加载。
在这里插入图片描述

在这里插入图片描述
1、API共享平台页面-概览
在这里插入图片描述

2、驱动配置
能灵活设置多类型数据库驱动参数,保障与不同数据源稳定连接
在这里插入图片描述

3、驱动配置-添加
在这里插入图片描述

4、连接管理

可集中管控多数据库连接,支持创建、编辑与删除,确保连接稳定高效

在这里插入图片描述

5、连接管理-测试
在这里插入图片描述

6、连接管理-详情
在这里插入图片描述

7、连接管理-编辑
在这里插入图片描述

8、连接管理-添加
在这里插入图片描述

9、模块配置
能按需定制各功能模块参数,灵活适配不同业务场景下的开发需求
在这里插入图片描述

10、模块配置-编辑
在这里插入图片描述

11、模块配置-添加
在这里插入图片描述

12、接口配置

可自定义SQL转API的路径、参数等,轻松生成契合业务的专属接口
在这里插入图片描述

13、接口配置-上线
在这里插入图片描述

14、接口配置-修改-SQL配置

在这里插入图片描述

15、接口配置-修改-接口配置
在这里插入图片描述

16、接口配置-修改-出参格式
在这里插入图片描述

17、接口配置-修改-缓存配置
在这里插入图片描述

18、接口配置-修改-流量控制
在这里插入图片描述

19、接口配置-添加-SQL配置
在这里插入图片描述

20、接口配置-添加-接口配置
在这里插入图片描述

21、接口配置-添加-出参格式
在这里插入图片描述

22、接口配置-添加-缓存配置
在这里插入图片描述

23、接口配置-添加-流量控制
在这里插入图片描述

24、接口仓库-接口定义
能集中规范定义API,明确参数与逻辑,方便统一管理调用
在这里插入图片描述

25、接口仓库-访问日志
在这里插入图片描述

26、令牌配置
可灵活设置接口访问令牌规则,保障API调用安全且权限可控
在这里插入图片描述

27、令牌配置-查看
在这里插入图片描述

28、令牌配置-修改配置
在这里插入图片描述

29、令牌配置-添加
在这里插入图片描述

30、授权分组
授权分组功能能按角色或业务划分权限组,精准管控不同分组对API的访问权限
在这里插入图片描述

31、授权分组-编辑
在这里插入图片描述

32、授权分组-添加
在这里插入图片描述

33、客户应用
可集中管理调用API的客户端,灵活分配权限,保障应用安全交互
在这里插入图片描述

34、客户应用-授权
在这里插入图片描述

35、客户应用-密钥
在这里插入图片描述

36、客户应用-添加
在这里插入图片描述

37、访问控制
在这里插入图片描述

38、告警配置
告警配置功能可自定义监控阈值与通知方式,当异常发生时自动触发邮件、短信等告警,保障系统稳定
在这里插入图片描述

39、拓扑结构
可直观展示数据接口间的调用关系与依赖链路,助力系统监控与问题排查
在这里插入图片描述

在这里插入图片描述

AllData数据中台商业版通过SqlRest的部署,实现了从数据库到API的快速转化,其核心部署关键在于:

环境标准化:通过硬件规格与软件依赖的严格定义,确保部署一致性。
构建自动化:支持多平台编译与Docker镜像生成,适应不同部署场景。
配置中心化:集中管理配置文件,简化集群部署与动态调整。
扩展开放化:提供插件机制与多数据源支持,满足企业定制化需求。

在这里插入图片描述

快速项目开发
周期短、人员缺的项目中,通过SqlRest快速完成后端接口开发。

数据可视化
为BI工具提供RESTful接口,实现数据大屏的实时展示。

微服务架构
将数据库操作封装为微服务资源,促进服务间数据共享。

移动应用开发
通过HTTP协议与移动端交互,实现数据远程访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杭州奥零数据科技

AllData数据中台知识星球

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

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

打赏作者

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

抵扣说明:

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

余额充值