Skip to content

Usecase Overview

  • 业务目标:将插件间通信需求统一登记到 Integration Hub,完成 Schema 校验、租户策略审批、Topic/队列配置与拓扑可视化,保证通道可追溯、可审计。
  • 成功度量:审批时长 ≤ 1 个工作日;Schema 校验失败率 < 5%;配置下发后 5 分钟内可联调;拓扑图实时更新。
  • 场景关联:支撑 SCN-INT-PLUGIN-COMM-CHANNEL-001,也是 Idempotent/ACL/Flow 子场景的前置步骤。

所有插件间通信必须通过官方 Hub 登记,平台统一生成配置与凭证,防止私自直连导致的安全和治理风险。

Context & Assumptions

  • 前置条件
    • Feature Flags PX_PLUGIN_COMM_HUB, PX_PLUGIN_SCHEMA_REGISTRY, PX_PLUGIN_CHANNEL_TOPOLOGY 已启用。
    • 插件已在 SCN-INT-PLUGIN-CAPABILITY-001 中完成能力注册,具备 Schema 与租户信息。
    • 租户策略服务可返回授权范围/配额;EventBus 支持动态创建 Topic/队列。
  • 输入/输出
    • 输入:通信申请(发布/订阅插件、租户、Schema、协议、吞吐预估)、审批意见。
    • 输出:Topic/队列配置、访问凭证、拓扑图、审计记录。
  • 边界:不负责事件幂等、共享 Topic ACL 或链路监控。

Solution Blueprint

体系分解

主要组件/模块责任代码入口
Channel Service受理通信需求、审批、生成配置与凭证services/integration/channel_registry/channel_service.ts
Schema Validator校验 Schema/版本、返回兼容性报告services/integration/channel_registry/schema_validator.ts
Topology Renderer写入 integration_channels.yaml、生成拓扑图、配额视图services/integration/channel_registry/topology_renderer.ts

流程与时序

  1. Register:插件在 Hub 提交通信需求,附 Schema、租户范围、协议、吞吐预测。
  2. Validate & Approve:Schema 校验、租户策略审批、配额评估;通过后写入 integration_channels.yaml
  3. Provision:自动创建 Topic/队列或绑定已有资源,签发访问凭证并同步到 EventBus。
  4. Publish Configs:生成拓扑图/文档,下发至双方插件,审计记录审批流程。

Contracts & Interfaces

  • POST /integration-hub/channels — 提交通道申请。
  • POST /integration-hub/schema/validate — Schema 校验。
  • POST /integration-hub/channels/:id/approve — 审批与配置发布。
  • 配置:integration_channels.yaml, schema_registry/, channel_topology.json
  • 脚本:scripts/ops/integration-channel-sync.mjs

Implementation Checklist

项目描述完成状态负责人
通道申请 API支持多插件/租户/协议参数,写入队列等待审批[ ]Integration Hub Squad
Schema Registry校验与兼容性报告、版本回滚[ ]Platform Infra Squad
配置/拓扑生成输出 Topic/队列配置、拓扑图、配额视图[ ]Integration Hub Squad
审计链路审批、配置变更、凭证签发写入 Audit[ ]Security Squad

Testing Strategy

  • 单元测试:Schema 校验、审批状态机、配置生成、拓扑图导出。
  • 集成测试
    • 正向:申请→审批→配置→联调;
    • 逆向:Schema 不兼容、租户未授权、配额不足;
    • 配置回滚/重新下发。
  • 端到端:沙箱插件登记→Topic 创建→凭证下发→事件通路打通。

Observability & Ops

  • 指标:plugin.comm.channel.approval_time, plugin.comm.schema.fail_rate, plugin.comm.channel.count, plugin.comm.channel.quota_usage
  • 告警:未经审批尝试直连、Schema 校验服务不可用、Topic 创建失败。
  • Dashboards:Plugin Communication Hub(展示拓扑与配额)。

Rollback & Failure Handling

  • 支持 integration-channel-sync.mjs --rollback <channel_id> 恢复前一版本配置。
  • Schema/策略更新失败时保持旧配置并发出告警;必要时冻结该通道。
  • Topic 创建失败则回滚所有配置并通知申请方。

Follow-ups & Risks

风险/事项影响缓解方案负责人ETA
拓扑视图未支持多 Region跨区域协同受阻Integration Platform Squad2025-03-03
配额审批缺少自动化容量规划效率低SRE Squad2025-02-28
Schema 校验缓存缺版本回滚误判风险Platform Infra Squad2025-03-01

References & Links

  • 场景:docs/scenarios/integration/SCN-INT-PLUGIN-COMM-001.md
  • 子场景:docs/scenarios/integration/SCN-INT-PLUGIN-COMM-CHANNEL-001.md
  • 配置:integration_channels.yaml, schema_registry/**
  • 脚本:scripts/ops/integration-channel-sync.mjs
  • 发布指引:npm run publish:usecases -- --scn-id SCN-INT-PLUGIN-COMM-001 --validate-only

基于 Apache 2.0 许可发布