🔥🔥 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协议与移动端交互,实现数据远程访问。

被折叠的 条评论
为什么被折叠?



