架构
Hyac 基于现代化的容器架构构建。它的设计目标是可扩展、高弹性和易于维护。
graph TD
A[用户] --> B{Nginx};
B --> C[Web UI (Vue3)];
B --> D[服务端 API (FastAPI)];
D --> E{Docker 管理器};
E --> F[App 容器 (FaaS)];
D --> G[MongoDB];
D --> H[MinIO];
F --> G;
F --> H;
组件
Web UI
Web UI 是一个使用 Vue 3 和 Naive UI 构建的单页应用。它为管理应用、函数和其他资源提供了用户友好的界面。
服务端 API
服务端 API 是 Hyac 平台的核心。它是一个 FastAPI 应用,为管理资源提供了 RESTful API。它负责:
- 用户认证
- 管理应用和函数
- 与数据库和对象存储交互
- 管理 FaaS 容器的生命周期
数据库
Hyac 使用 MongoDB 存储有关应用、函数和其他资源的元数据。
对象存储
Hyac 使用 MinIO 存储函数代码、依赖项和其他文件。
Docker 管理器
Docker 管理器负责管理 FaaS 容器的生命周期。它使用 Docker API 来创建、启动、停止和删除容器。
FaaS 容器
FaaS 容器是一个运行单个 FaaS 应用的 Docker 容器。它负责执行函数和管理依赖项。