暗色模式
私有化部署架构概览
MasterGo 产品设计工具采用微服务技术架构,应用层与基础设施层完全解耦,基于 Kubernetes 部署,保障业务的伸缩性与自愈能力,支持在客户提供的 K8s 集群上部署。本文从应用、网络、部署、技术四个视角说明整体架构,并列出技术栈版本。
应用架构
应用架构由三大模块组成,满足设计交付流程的全部使用需求,从上到下分别是应用入口、核心功能和集成系统。
- 应用入口:用户与系统交互的起点,包含 Web 端、Sketch 插件、Figma 插件、PS 插件、XD 插件、Axure 插件和管理后台。
- 核心功能:软件的主要业务逻辑与核心能力,包含授权登录、设计在线协作、产品协作、团队管理、设计工具插件,以及管理后台的授权登录等。
- 集成系统:与客户其他系统或服务集成的关键部分,满足特定需求与定制化开发,包含统一身份认证、开放平台 OpenAPI、PluginAPI、IM 集成等。
网络架构
用户通过 MasterGo 私有化域名直接访问 MasterGo 域名服务器或资源;在此基础上,支持前置接入负载均衡实例。
部署架构
MasterGo 私有部署架构基于 Kubernetes,保障业务的伸缩性与自愈能力。应用层与基础设施层完全解耦,支持在甲方提供的 K8s 集群上进行部署。整体部署结构如下:
- 接入:用户通过
server-N IP / SLB / VIP接入 K8s 集群。 - K8s 集群节点:由 Server 节点(server-1、server-2、server-3……)和 Agent 节点(agent-1 … agent-N)组成。
- 应用网关:
nginx-ingress-controller负责流量接入与分发。 - 应用层:以 Pod、CronJob 等形式运行业务服务。
- 静态资源:由 MinIO 提供文件与静态资源存储。
- 缓存层 / 队列层:Redis(缓存)、Kafka(消息队列)。
- 数据层:MongoDB、MySQL、PostgreSQL、Elasticsearch;通过 Logstash 进行数据同步。
- 基础设施层:Dashboard(集群可视化管理控制台)、Fluentd(日志持久化采集)、Descheduler(Pod 资源重调度)。
- 持久化存储:支持 NFS,以及 NAS、GlusterFS 等外部存储(部分能力建设中)。
技术架构
整体采用微服务架构,灵活、易扩展,并为客户提供更可靠的服务。系统分为五个层级:
- 应用层:提供 PC、移动、Web 多种客户端,并提供高性能的图形处理能力。
- 接入层:基于 nginx 进行客户端的流量接入和分发,提供反向代理、限流、频控等基础保障能力。
- 业务服务层:基于 Go 和微服务架构,按工作台、企业管理后台、开放平台、插件、画布等不同产品能力拆分微服务,提供账号管理、登录态管理、团队管理、文件管理、画布协同等业务支撑。
- 基础服务层:基于微服务拆分底层核心能力,支撑上游业务服务,包括消息通知、权限处理、异步消费等。
- 基建层:基于 K8s 及开源能力,提供服务发现、治理、日志采集、监控等运维保障能力;数据存储使用 MongoDB、Elasticsearch、MySQL、MinIO 等不同技术,支撑不同业务场景的存储与检索需求。
技术栈及版本
基础设施
| 软件 | 版本 | 用途 | 是否必须 |
|---|---|---|---|
| k3s | 1.19 | 容器集群运行环境 | 是 |
| docker | 19.03 | 基建及镜像仓库运行时 | 是 |
| containerd | 1.4.8 | 容器运行时 | 是 |
中间件
| 软件 | 版本 | 说明 | 是否必须 |
|---|---|---|---|
| k3s | 1.19 | 容器基础运行环境 | 是 |
| minio | 2020.11.6 | 对象存储,存储文件、静态资源 | 是 |
| mongodb | 4.2.4 | NoSQL 数据库 | 是 |
| mysql | 5.7.26 | SQL 数据库,存储用户权限、文件版本相关数据 | 是 |
| kafka | 2.2.0 | 消息队列,协同消息处理 | 是 |
| redis | 5.0.9 | 缓存 | 是 |
| postgresql | 11.2 | SQL 数据库,存储用户数据 | 是 |
后端业务
| 技术 | 版本 | 用途 | 是否必须 |
|---|---|---|---|
| Go | 1.18.5 | 服务开发语言 | 是 |
| Gin | v1.7.7 | Web 服务框架 | 是 |
| Gorm | v1.25.1 | 数据库访问 ORM 框架 | 是 |
前端业务
| 技术 | 版本 | 用途 | 是否必须 |
|---|---|---|---|
| JavaScript | — | 前端页面逻辑脚本语言标准 | 是 |
| Vue | 2.7 | 前端页面视图构建 | 是 |
| C++ | 20 | SDK 采用语言标准 | 是(针对开发环境) |
| wasm(emscripten) | 3.0 | wasm 生成 | 是(针对开发环境) |
SaaS 与私有化差异
| 功能 | SaaS | 私有化 |
|---|---|---|
| 数据存储 | MasterGo 云端 | 自控服务器 |
| 许可证 | 在线订阅 | License 文件激活 |
| 品牌定制 | 不支持 | Logo/配色/域名/登录页 |
| AI 功能 | 云端 AI 服务 | cloud/local 双模式 |
| 升级方式 | 自动升级 | 手动升级 |
| 信创适配 | 不适用 | 可选 |
硬件配置建议
小型部署(< 50 用户):4 核 8GB + 500GB SSD 可运行全部组件。详见硬件要求。