一、概述
低代码开发平台这几年火得不行,从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。