Design philosophy
ApiGo Cloud adopts a "design-time and runtime separation" architecture philosophy, decoupling API definition, governance and execution into different modules:
Core architectural ideas
- Configuration and execution decoupling —
ApiGo-admin does not handle externally exposed traffic; it is only responsible for API definitions and rule distribution. ApiGo-api focuses only on execution, and ApiGo-gateway provides unified governance
- Redis as the runtime configuration hub — configuration changes propagate quickly to the gateway and execution services through Redis, without restarts
- Extensible execution modes — with the
ApiModeExecutor interface abstraction, adding a new API type only requires a new executor
- Governance front-loaded at the gateway — caching, IP control, logging, Mock and other processing are completed at the gateway layer, reducing duplicate implementations in execution services
Tech stack
Backend
| Technology | Version | Purpose |
|---|
| JDK | 21 | Runtime environment |
| Spring Boot | 4.1.0 | Application framework |
| Spring Cloud | 2025.1.2 | Microservice framework |
| Spring AI | 2.0.0 | AI query capability |
| Nacos | 2025.1.0.0 | Registry / configuration center |
| MyBatis | 4.0.1 | ORM framework |
| Druid | 1.2.28 | Database connection pool |
| Sentinel | 1.8.10 | Flow control and circuit breaking |
| JJWT | 0.13.0 | JWT authentication |
Frontend
| Technology | Version | Purpose |
|---|
| Vue | 3.5.x | Frontend framework |
| Vite | 8.x | Build tool |
| Ant Design Vue | 4.2.x | UI component library |
| Vuex | 4.1.0 | State management |
| LogicFlow | - | API orchestration flowchart engine |
| CodeMirror | - | SQL / JS code editor |
| AntV G2 | - | Data visualization charts |
Infrastructure
| Component | Minimum version | Purpose |
|---|
| MySQL | 8.4 | Business database + log storage |
| Redis | 7.0 | Runtime configuration hub + cache |
| Elasticsearch | 7.0 | Call log storage (optional) |
| Nacos | 2.3 | Service registration and discovery |
| Node.js | 22+ | Frontend runtime environment |
Configuration distribution and runtime sync
LoadingData is responsible for full configuration loading at startup and on a schedule
ApiRuntimeCacheService incrementally syncs API details
RedisDataReconcile reconciles periodically to keep Redis consistent with the database
See Modules & execution engine for more module details.