设计理念
ApiGo 采用 「设计态与运行态分离」 的架构理念,将接口的定义、治理、执行解耦到不同模块。
架构核心思想
- 配置与执行解耦 —
ApiGo-admin 不承接对外开放流量,只负责接口定义与规则下发;ApiGo-api 只聚焦执行;ApiGo-gateway 负责统一治理
- Redis 作为运行时配置中枢 — 配置变更通过 Redis 快速传播到网关和执行服务,无需重启
- 执行模式可扩展 — 通过
ApiModeExecutor 接口抽象,新增接口类型只需扩展执行器
- 治理前置在网关 — 缓存、IP、日志、Mock 等处理在网关层完成,减少执行服务重复实现
技术栈
| 技术 | 版本 | 用途 |
|---|
| JDK | 21 | 运行环境 |
| Spring Boot | 4.1.0 | 应用框架 |
| Spring Cloud | 2025.1.2 | 微服务框架 |
| Spring AI | 2.0.0 | AI 问数能力 |
| Nacos | 2025.1.0.0 | 注册中心 / 配置中心 |
| MyBatis | 4.0.1 | ORM 框架 |
| Druid | 1.2.28 | 数据库连接池 |
| Sentinel | 1.8.10 | 限流熔断 |
| JJWT | 0.13.0 | JWT 认证 |
| 技术 | 版本 | 用途 |
|---|
| Vue | 3.5.x | 前端框架 |
| Vite | 8.x | 构建工具 |
| Ant Design Vue | 4.2.x | UI 组件库 |
| Vuex | 4.1.0 | 状态管理 |
| LogicFlow | - | API 编排流程图引擎 |
| CodeMirror | - | SQL / JS 代码编辑器 |
| AntV G2 | - | 数据可视化图表 |
基础设施
| 组件 | 最低版本 | 用途 |
|---|
| MySQL | 8.4 | 业务数据库 + 日志存储 |
| Redis | 7.0 | 运行时配置中枢 + 缓存 |
| Elasticsearch | 7.0 | 调用日志存储(可选) |
| Nacos | 2.3 | 服务注册与发现 |
| Node.js | 22+ | 前端运行环境 |
配置下发与运行时同步
LoadingData 负责启动时与定时的全量配置加载
ApiRuntimeCacheService 增量同步 API 详情
RedisDataReconcile 定期对账,确保 Redis 与数据库一致
更多模块细节见 模块与执行引擎。