首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >〔从零搭建〕API共享平台部署指南

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

原创
作者头像
用户11518204
修改2025-09-15 16:45:25
修改2025-09-15 16:45:25
20
举报

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

摘要

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

一、在线演示环境

二、功能简介

三、源码编译部署安装

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

五、核心部署

六、应用场景

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档