mengstack-website/guide/what-is-mengstack.md
2026-10-02 23:55:36 +08:00

3.3 KiB
Raw Blame History

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 的三层隔离架构让每个业务模块都是自包含的,模块间通过明确的接口通信。每个模块遵循四层模式(Domain / Application / Infrastructure / Interfaces),确保依赖方向单一。

核心特性

特性 说明
三层隔离 Kernel / App / Modules 层间依赖方向单一,详见架构设计
四层模块 Domain / Application / Infrastructure / Interfaces,详见模块模式
多租户 基于 Header 的租户隔离,数据自动过滤,详见多租户系统
JWT 认证 Access Token + Refresh Token 双令牌机制,详见认证与授权
依赖注入 uber-go/fx 自动管理组件生命周期,详见依赖注入
API 文档 swaggo 注解驱动,自动生成 Swagger UI
配置管理 Viper 分层配置,支持环境变量覆盖,详见配置管理
结构化日志 Zap 结构化输出,请求级 trace_id
Docker 部署 开箱即用的 docker-compose,详见Docker 部署

适用场景

  • SaaS 平台:多租户隔离开箱即用
  • 中后台系统:认证、权限、审计日志完备
  • 微服务集群:模块化设计便于拆分和独立部署
  • 开源项目:清晰的架构便于社区贡献

技术栈

组件 选型 用途
Web 框架 Gin HTTP 路由和中间件
ORM GORM 数据库操作
数据库 PostgreSQL 主数据存储
缓存 Redis 缓存和会话管理
认证 golang-jwt JWT 令牌生成和验证
DI uber-go/fx 依赖注入
配置 Viper 配置加载和管理
日志 Zap 结构化日志
API 文档 swaggo Swagger 文档生成
容器化 Docker Compose 开发和部署环境

快速开始

准备好开始使用 MengStack?查看快速开始指南,5 分钟即可跑通第一个项目。也可以访问在线演示直接体验 API 接口能力。