# 平台架构

本页用于说明 G2rain 的整体架构分层,以及各层在平台体系中的职责边界。

G2rain 强调的不是单个模块孤立存在,而是平台入口、交互接入、平台核心、业务域扩展与工程支撑之间的协同演进。

# 架构分层

# 边缘入口层

边缘入口层负责平台统一入口能力,当前以网关能力为核心。

这一层主要解决:

  • 平台统一访问入口
  • 请求路由与入口控制
  • 与身份认证链路的前置协同

对应代表模块:

  • g2rain-gateway-webflux
  • g2rain-gateway-webmvc

# 交互接入层

交互接入层负责前端应用接入、应用身份协同与交互链路承载。

这一层强调“真正的应用化”能力,即每个应用具备独立身份,并通过平台统一管理应用信息、公钥与接入边界。

这一层主要解决:

  • 前端主壳与子应用协同
  • 应用独立身份管理
  • 前端与 API 接口的统一安全链路
  • OpenResty + Lua 与平台身份体系协同

对应代表模块:

  • g2rain-main-shell
  • g2rain-manager-app
  • g2rain-infra-app
  • g2rain-cms-app
  • g2rain-department-app

# 平台核心层

平台核心层负责沉淀企业级 SaaS 平台的通用基础能力,是平台长期演进的中枢。

这一层主要解决:

  • 统一认证与 IAM
  • 应用管理、角色管理、资源管理
  • 功能权限与业务能力管理
  • 审计、安全、网关协同
  • 商业化与交付控制
  • AI 平台基础能力承载

对应代表模块:

  • g2rain-basis
  • g2rain-iam
  • g2rain-infra

# 业务域扩展层

业务域扩展层负责围绕具体业务场景扩展平台能力,并支持根据不同场景组合业务领域接口,独立提供子应用。

这一层强调:

  • 基于 DDD 的业务域拆分
  • 业务能力与平台核心能力解耦
  • 业务域前后端协同扩展

对应代表模块:

  • g2rain-cms
  • g2rain-department

# 工程支撑层

工程支撑层负责为平台核心层与业务域扩展层提供统一的工程化、代码生成与部署交付能力。

这一层主要解决:

  • 公共库与基础能力复用
  • Starter 与持久化扩展
  • 代码生成与工程模板
  • 应用初始化与前端模板
  • 部署交付与持续更新

对应代表模块:

  • g2rain-common
  • g2rain-spring-boot-starter
  • g2rain-mybatis-extensions
  • g2rain-generator-maven-plugin
  • g2rain-generator-archetype
  • g2rain-crafter
  • g2rain-app-cli
  • g2rain-app-template
  • g2rain-deploy

# 关键架构关系

# 功能权限、应用与业务能力

  • 功能权限是平台侧最小控制单元
  • 应用是功能权限和业务能力的承载单元
  • 业务能力可聚合为租户侧最小交付单元

# 应用化接入

平台支持每个应用具备独立身份。

应用在平台中维护应用信息,并注册公钥;应用自身保存私钥,并在需要为客户构建 Token 时参与签名。对于前端应用,平台通过 OpenResty + Lua 脚本协同实现私钥使用与身份链路打通。

# AI 开发新范式

平台支持通过 DDD 提供最小颗粒度接口服务,并注册到 MCP Server 中;在此基础上,平台进一步支持 Agent、Skill 定义与云端编排执行,帮助企业业务团队更容易通过自然语言适配自身流程。

# 推荐阅读