mengstack-website/guide/what-is-mengstack.md
SoftUnis ecb29e0aa4 初始化 MengStack 官方网站仓库
包含 VitePress 文档站完整源码及全新自定义首页设计:
- 自定义首页组件 (Home.vue):Hero + 终端动效 + 核心能力 + 架构展示 + 快速开始 + CTA
- 自定义 Layout.vue:首页/文档页布局切换
- 金铜色品牌主题样式
- 完整文档页面(指南、API、更新日志、演示、社区)
- SEO 配置(sitemap、robots、meta 标签)
2026-10-02 23:37:25 +08:00

69 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 什么是MengStack | 架构设计与核心特性介绍 - MengStack官方文档
---
# 什么是 MengStack
MengStack 是一个基于 Go 语言的企业级微服务开发框架,采用模块化架构设计,提供多租户、认证授权、配置管理等开箱即用的基础能力。作为面向云原生与 AI 时代的一站式全栈开发底座,MengStack 整合主流开源技术能力,帮助开发者快速搭建企业级后端服务。
## 设计理念
### 为什么选择 Go?
Go 语言以其简洁的语法、高效的并发模型和快速的编译速度,成为构建现代后端服务的理想选择。MengStack 充分利用 Go 的生态和特性:
- **高性能**:Go 的 goroutine 和 channel 提供轻量级并发
- **强类型**:编译期发现错误,减少运行时意外
- **标准库丰富**:net/http、encoding/json 等开箱即用
- **生态成熟**:Gin、GORM、Zap 等优秀第三方库
### 为什么模块化?
传统的分层架构(Controller → Service → Repository)在项目规模增长后容易出现:
- 模块间边界模糊,耦合严重
- 删除一个功能需要改动多个层
- 难以独立测试和替换
MengStack 的[三层隔离架构](/guide/architecture)让每个业务模块都是自包含的,模块间通过明确的接口通信。每个模块遵循[四层模式](/guide/module-pattern)(Domain / Application / Infrastructure / Interfaces),确保依赖方向单一。
## 核心特性
| 特性 | 说明 |
|------|------|
| 三层隔离 | Kernel / App / Modules 层间依赖方向单一,详见[架构设计](/guide/architecture) |
| 四层模块 | Domain / Application / Infrastructure / Interfaces,详见[模块模式](/guide/module-pattern) |
| 多租户 | 基于 Header 的租户隔离,数据自动过滤,详见[多租户系统](/guide/multi-tenancy) |
| JWT 认证 | Access Token + Refresh Token 双令牌机制,详见[认证与授权](/guide/auth) |
| 依赖注入 | uber-go/fx 自动管理组件生命周期,详见[依赖注入](/guide/dependency-injection) |
| API 文档 | swaggo 注解驱动,自动生成 Swagger UI |
| 配置管理 | Viper 分层配置,支持环境变量覆盖,详见[配置管理](/guide/configuration) |
| 结构化日志 | Zap 结构化输出,请求级 trace_id |
| Docker 部署 | 开箱即用的 docker-compose,详见[Docker 部署](/guide/docker-deploy) |
## 适用场景
- **SaaS 平台**:[多租户隔离](/guide/multi-tenancy)开箱即用
- **中后台系统**:[认证](/guide/auth)、权限、审计日志完备
- **微服务集群**:模块化设计便于拆分和独立部署
- **开源项目**:清晰的架构便于社区贡献
## 技术栈
| 组件 | 选型 | 用途 |
|------|------|------|
| Web 框架 | Gin | HTTP 路由和中间件 |
| ORM | GORM | 数据库操作 |
| 数据库 | PostgreSQL | 主数据存储 |
| 缓存 | Redis | 缓存和会话管理 |
| 认证 | golang-jwt | JWT 令牌生成和验证 |
| DI | uber-go/fx | 依赖注入 |
| 配置 | Viper | 配置加载和管理 |
| 日志 | Zap | 结构化日志 |
| API 文档 | swaggo | Swagger 文档生成 |
| 容器化 | Docker Compose | 开发和部署环境 |
## 快速开始
准备好开始使用 MengStack?查看[快速开始指南](/guide/getting-started),5 分钟即可跑通第一个项目。也可以访问[在线演示](/demo)直接体验 API 接口能力。