低代码平台技术架构白皮书

📅 发布:2024-06-01 🔄 更新:2024-12-10 📖 阅读约20分钟 👤 算数技术研发团队

一、概述

低代码开发平台这几年火得不行,从Gartner的报告来看,到2025年全球低代码开发平台市场规模预计将达到约470亿美元(数据来源:Gartner, 2023)。国内这边,信通院的调研也显示,超过60%的企业已经在用或者正在评估低代码平台(数据来源:中国信通院《低代码发展白皮书(2023)》)

算数科技作为低代码平台一级渠道商,在大量企业落地实践的基础上,把平台的技术架构梳理成了这份白皮书。目的很直白——让技术决策者搞清楚低代码平台到底是怎么运作的,而不是只看到表面的拖拽界面。

本白皮书覆盖五个核心部分:前端渲染引擎、后端服务架构、数据层设计、AI能力集成层和安全架构。每一层都不是简单堆砌技术名词,而是在实际项目中反复验证过的方案。

二、前端渲染引擎

低代码平台的前端渲染引擎是整个平台的"面子",直接决定了用户体验。我们采用的是基于JSON Schema的声明式渲染方案,说人话就是:页面的结构、样式、行为全部用JSON描述,引擎负责把这些JSON翻译成真实的DOM节点和交互逻辑。

2.1 渲染引擎核心设计

渲染引擎的核心是一个Schema解析器和一个组件注册表。Schema解析器接收JSON配置,递归遍历节点树,根据每个节点的type字段查找组件注册表中对应的组件实例,然后创建React组件并注入props。这个过程看起来挺简单,但要在性能上做到不卡顿,需要做不少优化。

首先是虚拟DOM的diff优化。我们用的是React 18的Concurrent模式,结合memo和useMemo做了组件级别的缓存。对于大型表单(100+字段),渲染时间能控制在200ms以内。其次,组件注册表用了懒加载机制——只有页面实际用到的组件才会被下载和注册,初始加载包体积控制在150KB(gzip后)以内。

2.2 拖拽编排引擎

拖拽编排是低代码平台的标志性能力。我们的拖拽引擎基于HTML5 Drag and Drop API做了一层封装,支持嵌套容器拖放、对齐线辅助、撤销重做。编排过程中产生的操作会实时同步到JSON Schema,也就是说,用户拖的每一步都有据可查,可以序列化、可以回放。

2.3 自定义组件扩展

平台内置了80+常用组件(表单控件、布局容器、数据展示、图表等),但企业级场景总有定制需求。自定义组件通过标准的组件协议接入——只要实现了render方法和getPropertyConfig方法,就能注册到平台中被拖拽使用。组件协议兼容React和Vue,这块设计参考了阿里LowCode Engine的组件规范(参考:阿里低代码引擎开源协议规范)

三、后端服务架构

后端这块,我们没有搞什么花哨的东西,就是老老实实用Spring Cloud微服务架构。为什么不用单体?因为低代码平台天然需要支持多租户、多应用、多场景,单体架构在扩展性上会很快碰到天花板。IDC的报告也指出,采用微服务架构的企业应用平台在迭代效率上比单体架构高出40%以上(数据来源:IDC《企业低代码开发平台评估指南, 2023》)

3.1 微服务拆分策略

我们按业务域来拆服务,而不是按技术层。每个服务有独立的数据库、独立的部署单元,服务之间通过REST API或消息队列通信。下表列出了核心服务的职责划分:

服务名称 职责 技术栈 数据库 部署实例数
API网关服务 请求路由、认证鉴权、限流熔断 Spring Cloud Gateway Redis 2-4
应用管理服务 应用CRUD、版本管理、发布 Spring Boot + MyBatis MySQL 2
表单引擎服务 表单渲染数据、校验规则、联动逻辑 Spring Boot MySQL + Redis 2-4
工作流服务 流程定义、审批流转、催办 Flowable + Spring Boot MySQL 2
数据服务 数据CRUD、聚合查询、导出 Spring Boot + 动态SQL MySQL/PostgreSQL 4-8
AI能力服务 大模型对接、NL2SQL、智能表单 Python + FastAPI PostgreSQL + 向量库 2-4
文件服务 文件上传下载、预览 Spring Boot + MinIO MinIO 2
通知服务 邮件、短信、站内信、Webhook Spring Boot MySQL + RabbitMQ 2

3.2 服务治理

服务注册发现用的Nacos,配置中心也是Nacos——一个组件搞定两件事,省心。服务间调用走OpenFeign,熔断降级用Sentinel。链路追踪集成了SkyWalking,请求从网关进来一直到数据库执行SQL,全链路可视化。

有一点值得说一下:我们的限流不是在网关层一刀切,而是做了分级限流。网关层做全局QPS限流(保护整个集群),服务层做接口级限流(保护单个服务),数据库层做连接池限流(保护存储)。三层限流各司其职,不会出现"一刀切导致正常请求被误杀"的问题。

四、数据层设计

数据层是低代码平台最容易出问题的地方。因为低代码平台要支持各种各样的业务场景,数据结构千差万别,不可能给每个应用都建一套表。我们的方案是多源异构数据统一管理。

4.1 数据源适配器

平台内置了多种数据源适配器,通过统一的DataSource抽象层对接:

数据源类型 适用场景 连接池 读写性能 扩展性
MySQL 8.0+ 通用业务数据存储 HikariCP ★★★★☆ ★★★★★
PostgreSQL 14+ 复杂查询、JSON数据 HikariCP ★★★★☆ ★★★★☆
MongoDB 6.0+ 非结构化数据、文档存储 MongoClient ★★★★★ ★★★★☆
Redis 7.0+ 缓存、会话、排行榜 Lettuce ★★★★★ ★★★☆☆
Elasticsearch 8.x 全文检索、日志分析 RestClient ★★★★☆ ★★★★★
Oracle 19c+ 存量系统对接 HikariCP ★★★★☆ ★★★☆☆

4.2 动态数据建模

用户在平台上创建的数据模型,底层会自动生成对应的数据库表。字段类型映射做了精心设计——比如平台上的"富文本"类型映射为MySQL的LONGTEXT,"附件"类型映射为JSON(存储文件元数据)。关联关系通过外键约束+应用层校验双重保障。

对于高频查询场景,系统会自动分析SQL执行计划,建议添加合适的索引。这个功能不是我们自己拍脑袋做的,是参考了Percona的慢查询分析工具的思路。

五、AI能力集成层

AI能力集成是算数科技平台区别于传统低代码工具的核心差异化。我们把AI能力封装成独立的微服务,通过标准API暴露给平台其他模块调用。这样做的好处是AI模型可以独立升级,不影响业务服务的稳定性。

5.1 大模型对接架构

AI服务层支持对接多种大语言模型,包括OpenAI GPT系列、百度文心一言、阿里通义千问、智谱GLM等。通过统一的LLMAdapter接口,上层业务代码不需要关心底层用的是哪个模型。切换模型只需要改配置,代码零修改。

模型选择策略上,我们做了A/B测试机制——同一请求同时发给两个模型,对比响应质量和延迟,自动选择最优结果。这个机制让平台的AI能力始终能用上效果最好的模型。

5.2 NL2SQL自然语言转查询

这是最受用户欢迎的AI功能之一。用户用自然语言描述想查什么数据,AI自动生成对应的SQL语句。技术上用了Few-shot Prompt + Schema注入的方案——把数据库的表结构、字段含义、已有查询示例作为上下文喂给大模型,生成的SQL准确率在内部测试集上达到了87%。

当然,NL2SQL不能直接执行生成的SQL,必须经过SQL语法校验和权限检查两道关卡。权限检查会校验当前用户是否有权访问涉及的表和字段,防止越权查询。

5.3 智能表单识别

用户上传一张纸质表单的扫描件,AI自动识别表单字段并生成对应的数字化表单配置。底层用了OCR + LayoutLMv3的文档理解模型,字段识别准确率92%以上。这个功能在政务和制造业场景特别受欢迎。

六、安全架构

安全是低代码平台的生命线。我们在架构设计阶段就把安全考虑进去了,不是事后打补丁。安全架构覆盖传输层、应用层、数据层三个维度。

6.1 传输安全

所有API通信强制HTTPS,证书用Let's Encrypt自动续期。内部服务间通信走mTLS(双向TLS认证),防止内网被突破后的横向移动。API网关层配置了HSTS、X-Frame-Options、X-Content-Type-Options等安全响应头。

6.2 应用安全

认证采用OAuth2 + JWT方案,access_token有效期2小时,refresh_token有效期7天。权限模型用的是RBAC(基于角色的访问控制),支持角色继承和权限组合。多租户隔离采用"逻辑隔离+行级权限"方案——每条数据都带tenant_id,查询时自动注入租户过滤条件,确保租户间数据绝对隔离。

输入校验方面,所有API参数都经过白名单校验和XSS过滤。SQL查询全部使用预编译语句(PreparedStatement),从根本上杜绝SQL注入。文件上传做了类型白名单、大小限制和病毒扫描三重防护。

6.3 数据安全

敏感数据(密码、密钥、身份证号等)在数据库中加密存储,加密算法用AES-256-GCM。审计日志记录所有关键操作(谁在什么时间做了什么),日志保留180天,支持按时间、用户、操作类型检索。

数据备份策略是"每日全量+每小时增量",备份文件加密后存储到异地。恢复演练每季度执行一次,确保RTO(恢复时间目标)不超过4小时。

数据来源说明:本白皮书引用的市场数据和行业趋势来自 Gartner《Magic Quadrant for Low-Code Application Platforms, 2023》、IDC《企业低代码开发平台评估指南, 2023》以及中国信通院《低代码发展白皮书(2023)》。技术方案部分基于算数科技实际生产环境实践总结。

七、技术选型对比

在架构设计过程中,我们对几个关键技术的选型做了对比分析:

技术决策点 方案A 方案B 最终选择 选择理由
前端框架 React 18 Vue 3 React 18 Concurrent模式对大型表单渲染更友好,生态更丰富
微服务框架 Spring Cloud Dubbo Spring Cloud 社区活跃度高,与Spring Boot生态无缝集成
工作流引擎 Flowable Activiti Flowable BPMN 2.0支持更完整,性能更好,社区更活跃
消息队列 RabbitMQ Kafka RabbitMQ 业务场景以任务队列为主,RabbitMQ更轻量易运维
容器编排 Kubernetes Docker Compose Kubernetes 企业级部署需要弹性伸缩和自愈能力
监控方案 Prometheus + Grafana SkyWalking APM 两者结合 Prometheus管指标监控,SkyWalking管链路追踪

八、总结

低代码平台的技术架构不是什么神秘的东西,本质上还是前后端分离+微服务+多租户这套组合拳。真正的门槛在于:怎么把这套架构做到足够稳定、足够灵活、足够安全,让企业敢把核心业务跑在上面。算数科技在这份白皮书中分享的每一个技术决策,都是在实际项目中踩过坑、做过取舍之后的结果。

如果你对某个具体技术点有疑问,或者想了解平台在你的业务场景下怎么落地,欢迎联系我们的技术团队:cooper@micount.cn,电话 18016313342

← 返回文档中心 API集成开发指南 →