# 平台架构
本页用于说明 G2rain 的整体架构分层,以及各层在平台体系中的职责边界。
G2rain 强调的不是单个模块孤立存在,而是平台入口、交互接入、平台核心、业务域扩展与工程支撑之间的协同演进。
# 架构分层
# 边缘入口层
边缘入口层负责平台统一入口能力,当前以网关能力为核心。
这一层主要解决:
- 平台统一访问入口
- 请求路由与入口控制
- 与身份认证链路的前置协同
对应代表模块:
g2rain-gateway-webfluxg2rain-gateway-webmvc
# 交互接入层
交互接入层负责前端应用接入、应用身份协同与交互链路承载。
这一层强调“真正的应用化”能力,即每个应用具备独立身份,并通过平台统一管理应用信息、公钥与接入边界。
这一层主要解决:
- 前端主壳与子应用协同
- 应用独立身份管理
- 前端与 API 接口的统一安全链路
- OpenResty + Lua 与平台身份体系协同
对应代表模块:
g2rain-main-shellg2rain-manager-appg2rain-infra-appg2rain-cms-appg2rain-department-app
# 平台核心层
平台核心层负责沉淀企业级 SaaS 平台的通用基础能力,是平台长期演进的中枢。
这一层主要解决:
- 统一认证与 IAM
- 应用管理、角色管理、资源管理
- 功能权限与业务能力管理
- 审计、安全、网关协同
- 商业化与交付控制
- AI 平台基础能力承载
对应代表模块:
g2rain-basisg2rain-iamg2rain-infra
# 业务域扩展层
业务域扩展层负责围绕具体业务场景扩展平台能力,并支持根据不同场景组合业务领域接口,独立提供子应用。
这一层强调:
- 基于 DDD 的业务域拆分
- 业务能力与平台核心能力解耦
- 业务域前后端协同扩展
对应代表模块:
g2rain-cmsg2rain-department
# 工程支撑层
工程支撑层负责为平台核心层与业务域扩展层提供统一的工程化、代码生成与部署交付能力。
这一层主要解决:
- 公共库与基础能力复用
- Starter 与持久化扩展
- 代码生成与工程模板
- 应用初始化与前端模板
- 部署交付与持续更新
对应代表模块:
g2rain-commong2rain-spring-boot-starterg2rain-mybatis-extensionsg2rain-generator-maven-pluging2rain-generator-archetypeg2rain-crafterg2rain-app-clig2rain-app-templateg2rain-deploy
# 关键架构关系
# 功能权限、应用与业务能力
- 功能权限是平台侧最小控制单元
- 应用是功能权限和业务能力的承载单元
- 业务能力可聚合为租户侧最小交付单元
# 应用化接入
平台支持每个应用具备独立身份。
应用在平台中维护应用信息,并注册公钥;应用自身保存私钥,并在需要为客户构建 Token 时参与签名。对于前端应用,平台通过 OpenResty + Lua 脚本协同实现私钥使用与身份链路打通。
# AI 开发新范式
平台支持通过 DDD 提供最小颗粒度接口服务,并注册到 MCP Server 中;在此基础上,平台进一步支持 Agent、Skill 定义与云端编排执行,帮助企业业务团队更容易通过自然语言适配自身流程。