4、平台门户架构:平台门户的层次结构、门户服务组件、门户与资源模型的接口
平台门户是资源模型基线核验通信机制的上层载体,承担用户交互、服务编排与数据呈现的职责。本节从层次结构、服务组件、接口契约三个维度解析平台门户的架构设计。
4.1 平台门户的层次结构
平台门户采用经典的四层分层架构,自底向上依次为:基础设施层、数据服务层、业务逻辑层、表现层。各层职责明确,层间通过标准化接口解耦。
| 层次 | 核心职责 | 关键技术组件 |
|---|---|---|
| 表现层 | 用户交互、视图渲染、前端路由 | Vue.js / React、微前端容器、SSR |
| 业务逻辑层 | 服务编排、权限校验、流程调度 | Spring Cloud Gateway、工作流引擎 |
| 数据服务层 | 资源模型缓存、基线数据持久化、接口适配 | Redis Cluster、MyBatis、RESTful API |
| 基础设施层 | 容器编排、服务发现、日志采集 | 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 生态。