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

116 阅读8分钟

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。

✨杭州奥零数据科技官网:www.aolingdata.com

✨Github项目:github.com/alldatacent…

✨Gitee项目:gitee.com/alldatacent…

✨AllData官方手册:www.yuque.com/aolingdata/…

✨AllData正式环境:http://43.138.156.44:5173/ui_moat

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

一、在线演示环境

二、功能简介

三、源码编译部署安装

四、访问API共享平台平台页面

五、核心部署

六、应用场景

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

在线演示环境.jpg

🔹AllData数据中台线上正式环境:http://43.138.156.44:5173/ui_moat/

请联系市场总监获取账号密码

API共享平台(公众号).jpg

数据源平台功能简介.jpg

一、API共享平台基于开源项目SqlRest建设

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

🔹SqlRest项目地址:gitee.com/inrgihc/sql…

二、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 系统灵活性增强

支持复杂业务场景的灵活扩展与维护

源码编译部署安装.jpg

💡部署步骤: 在这里插入图片描述

一、环境准备 --多维度兼容性适配

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

carbon-1.png

三、安全加固措施

关闭不必要的端口(如SSH默认22端口迁移至非标准端口)

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

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

四、编译构建 --多平台差异化处理

4.1 Linux/macOS构建: carbon-2.png

参数说明:

-DskipTests:跳过单元测试以加速构建。

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

输出文件:

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

4.2 Windows构建

双击build.com脚本,或通过PowerShell执行:

carbon-3.png

💡常见问题:

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

编码冲突:在pom.xml中显式指定UTF-8编码:

carbon-4.png

4.3 Dacker镜像构建:

carbon-5.png

💡多阶段构建:

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

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

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

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

5.1 单机部署

解压安装包:

carbon-6.png

配置文件修改(/opt/sqlrest/conf/config.ini)

carbon-7.png

服务启动:

carbon-8.png

5.2 集群部署

💡节点分工:

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

负载均衡--Nginx配置

carbon-9.png

5.3 性能监控

Prometheus集成

修改config.ini启用Metrics端点:

carbon-10.png

修改config.ini启用Metrics端点:

carbon-11.png

Grafana看板:导入ID为12345的官方模板,实时监控QPS、响应时间及错误率。

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

6.1 安全增强

API网关鉴权:集成OAuth2.0,修改src/main/java/com/sqlrest/gateway/filter/AuthFilter.java,添加JWT验证逻辑:

carbon-12.png

数据脱敏:在SQL语句中通过MASK()函数隐藏敏感字段: carbon-13.png

6.2 多数据源支持

💡数据源路由:

在config.ini中配置多个数据源: 通过注解@DataSource("order")指定SQL执行的数据源。

carbon-14.png

6.3 插件化扩展

💡自定义函数插件:

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

将插件JAR包放置于plugins/目录,重启服务加载。

carbon-15.png

访问数据源平台页面.jpg

1、API共享平台页面-概览 1_ 概览.jpg

2、驱动配置

能灵活设置多类型数据库驱动参数,保障与不同数据源稳定连接 1_ 概览.jpg

3、驱动配置-添加 3_驱动配置-添加.jpg

4、连接管理

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

5、连接管理-测试 5_连接管理-测试.jpg

6、连接管理-详情 6_连接管理-详情.jpg

7、连接管理-编辑 7_连接管理-编辑.jpg

8、连接管理-添加 8_连接管理-添加jpg.jpg

9、模块配置

能按需定制各功能模块参数,灵活适配不同业务场景下的开发需求 9_模块配置.jpg

10、模块配置-编辑 10_模块配置-编辑.jpg

11、模块配置-添加 11_模块配置-添加.jpg

12、接口配置

可自定义SQL转API的路径、参数等,轻松生成契合业务的专属接口 12_接口配置.jpg

13、接口配置-上线 13_接口配置-上线.jpg

14、接口配置-修改-SQL配置 14_接口配置-修改-SQL配置.jpg

15、接口配置-修改-接口配置 15_接口配置-修改-接口配置.jpg

16、接口配置-修改-出参格式 16_接口配置-修改-出参格式.jpg

17、接口配置-修改-缓存配置 17_接口配置-修改-缓存配置.jpg

18、接口配置-修改-流量控制 18_接口配置-修改-流量控制.jpg

19、接口配置-添加-SQL配置 19_接口配置-添加-SQL配置.jpg

20、接口配置-添加-接口配置 20_接口配置-添加-接口配置.jpg

21、接口配置-添加-出参格式 21_接口配置-添加-出参格式.jpg

22、接口配置-添加-缓存配置 22_接口配置-添加-缓存配置.jpg

23、接口配置-添加-流量控制 23_接口配置-添加-流量控制.jpg

24、接口仓库-接口定义

能集中规范定义API,明确参数与逻辑,方便统一管理调用 24_接口仓库-接口定义.jpg

25、接口仓库-访问日志 25_接口仓库-访问日志.jpg

26、令牌配置

可灵活设置接口访问令牌规则,保障API调用安全且权限可控 26_令牌配置.jpg

27、令牌配置-查看 27_令牌配置-查看.jpg

28、令牌配置-修改配置 28_令牌配置-修改配置.jpg

29、令牌配置-添加 29_令牌配置-添加.jpg

30、授权分组

授权分组功能能按角色或业务划分权限组,精准管控不同分组对API的访问权限 30_授权分组.jpg

31、授权分组-编辑 31_授权分组-编辑.jpg

32、授权分组-添加 32_授权分组-添加.jpg

33、客户应用

可集中管理调用API的客户端,灵活分配权限,保障应用安全交互 33_客户应用.jpg

34、客户应用-授权 34_客户应用-授权.jpg

35、客户应用-密钥 35_客户应用-密钥.jpg

36、客户应用-添加 36_客户应用-添加.jpg

37、访问控制 37_访问控制.jpg

38、告警配置

告警配置功能可自定义监控阈值与通知方式,当异常发生时自动触发邮件、短信等告警,保障系统稳定

38_告警配置.jpg

39、拓扑结构

可直观展示数据接口间的调用关系与依赖链路,助力系统监控与问题排查 39_ 拓扑结构.jpg

核心部署.jpg

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

环境标准化:通过硬件规格与软件依赖的严格定义,确保部署一致性。

构建自动化:支持多平台编译与Docker镜像生成,适应不同部署场景。

配置中心化:集中管理配置文件,简化集群部署与动态调整。

扩展开放化:提供插件机制与多数据源支持,满足企业定制化需求。

日志配置.jpg

快速项目开发

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

数据可视化

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

微服务架构

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

移动应用开发

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