4、平台门户架构:平台门户的层次结构、门户服务组件、门户与资源模型的接口

平台门户是资源模型基线核验通信机制的上层载体,承担用户交互、服务编排与数据呈现的职责。本节从层次结构、服务组件、接口契约三个维度解析平台门户的架构设计。

4.1 平台门户的层次结构

平台门户采用经典的四层分层架构,自底向上依次为:基础设施层、数据服务层、业务逻辑层、表现层。各层职责明确,层间通过标准化接口解耦。

层次 核心职责 关键技术组件
表现层 用户交互、视图渲染、前端路由 Vue.js / React、微前端容器、SSR
业务逻辑层 服务编排、权限校验、流程调度 Spring Cloud Gateway、工作流引擎
数据服务层 资源模型缓存、基线数据持久化、接口适配 Redis Cluster、MyBatis、RESTful API
基础设施层 容器编排、服务发现、日志采集 Kubernetes、Nacos、ELK Stack
架构要点:业务逻辑层与数据服务层之间通过资源模型接口网关交互,所有基线核验请求必须经过该网关进行协议转换与鉴权,避免跨层直连。
平台门户四层层次结构 平台门户四层层次结构 表现层 微前端容器 · 视图渲染 · 前端路由 业务逻辑层 服务编排 · 权限校验 · 基线核验流程调度 数据服务层 资源模型缓存 · 基线持久化 · 接口适配 基础设施层 Kubernetes · Nacos · ELK Stack 接口 网关 鉴权 协议 转换

4.2 门户服务组件

平台门户由一组高内聚、低耦合的服务组件构成,每个组件承载特定的业务能力。以下为核心服务组件清单:

  • 用户认证组件:统一登录、SSO 集成、 管理,支持 OAuth2.0 与 LDAP 对接。
  • 资源目录组件:维护资源模型的树形目录结构,提供按类型、地域、状态的检索能力。
  • 基线核验组件:触发基线比对任务,管理核验策略,记录核验结果与差异快照。
  • 通知推送组件:基于 WebSocket 与消息队列,向订阅者推送核验状态变更与告警。
  • 审计日志组件:记录用户操作、接口调用、基线变更等全链路审计信息。
组件通信原则:组件间禁止直接调用数据库或共享内存,必须通过门户内部事件总线(Event Bus)或 RESTful API 进行异步/同步通信,确保组件可独立部署与水平扩展。

4.3 门户与资源模型的接口

门户与资源模型之间的接口是基线核验通信机制的核心通道。接口设计遵循 RESTful + JSON Schema 规范,所有交互数据必须通过资源模型接口网关进行协议转换与校验。

4.3.1 接口分类

接口类别 HTTP 方法 URI 模板 说明
资源查询 GET /api/v1/resources/{resourceId} 获取单个资源模型的完整属性
基线提交 POST /api/v1/baselines 提交待核验的基线数据快照
核验触发 POST /api/v1/verifications 触发指定资源与基线的比对任务
结果查询 GET /api/v1/verifications/{taskId} 查询核验任务的执行结果与差异明细
差异确认 PUT /api/v1/diffs/{diffId}/confirm 人工确认差异项,更新基线版本

4.3.2 接口契约示例

以下为基线提交接口的请求/响应契约示例:

// 请求:POST /api/v1/baselines
// Content-Type: application/json
{
  "resourceId": "res-001",
  "baselineVersion": "v2.3.1",
  "snapshot": {
    "cpuCores": 8,
    "memoryGB": 32,
    "storageGB": 500,
    "networkBandwidthMbps": 1000
  },
  "checksum": "a1b2c3d4e5f6..."
}

// 响应:201 Created
{
  "baselineId": "bl-20250321-001",
  "status": "ACCEPTED",
  "timestamp": "2025-03-21T10:30:00Z"
}
接口安全约束:所有接口必须携带 X-Auth- 请求头,网关层校验 有效性;基线提交与核验触发接口需要额外校验操作者权限(至少为“资源管理员”角色)。
门户与资源模型接口交互流程 门户与资源模型接口交互流程 平台门户 业务逻辑层 资源模型接口网关 协议转换 · 鉴权 · 限流 资源模型服务 数据持久化 · 缓存 ① 发起请求 ② 转发/校验 ③ 处理并返回 ④ 响应回传 所有接口交互必须经过网关,禁止门户直连资源模型数据库 网关负责协议转换、 校验、请求限流与审计日志记录

4.4 接口安全与版本管理

为保证基线核验通信机制的长期稳定,门户与资源模型的接口需遵循以下管理策略:

  • 版本前缀:所有接口 URI 携带 /v1/ 版本号,版本升级时保留旧版本至少 3 个月过渡期。
  • 幂等性设计:基线提交与核验触发接口支持幂等键(Idempotency-Key),防止重复提交导致数据异常。
  • 限流与熔断:网关层对每个资源 ID 的核验触发接口实施 QPS 限流(默认 50 QPS),超出阈值时返回 429 状态码并触发熔断。
  • 审计追溯:每次接口调用均记录请求 ID、调用方、时间戳、请求体摘要,审计日志保留不少于 180 天。
架构决策:门户与资源模型之间不采用 RPC 或消息队列作为主通信方式,而是统一使用 RESTful API + 网关,主要考虑:① 接口契约对前端与第三方系统透明;② 网关层可集中实施安全策略;③ 便于后续演进为 OpenAPI 生态。