4. 接口分类:南向接口、北向接口、东西向接口在升级流程中的职责划分

在租户隔离蓝图升级场景中,控制平面接口按数据流向与交互对象可划分为三类:南向接口(Southbound Interface, SBI)、北向接口(Northbound Interface, NBI)和东西向接口(East-West Interface, EWI)。三类接口在升级流程中承担截然不同的职责,共同构成数据传输的完整闭环。

4.1 三类接口的定义与核心职责

接口类型 交互对象 核心职责 典型协议/载体
南向接口 (SBI) 控制平面 → 数据平面(转发设备、虚拟交换机、CNI 插件) 下发租户隔离策略、流表规则、QoS 配置;采集设备状态与拓扑变更 OpenFlow、OVSDB、gNMI、NetConf
北向接口 (NBI) 编排层/运维平台 → 控制平面 接收租户蓝图升级请求、隔离策略变更、租户元数据更新;返回升级状态与审计日志 RESTful API、gRPC、GraphQL
东西向接口 (EWI) 控制平面实例之间(跨集群、跨区域、跨可用区) 同步租户隔离状态、协调升级批次、传递分布式锁与一致性快照 Raft、gRPC Stream、Kafka
设计要点:三类接口在升级流程中并非串行执行,而是并行协作。南向接口负责“执行”,北向接口负责“表达”,东西向接口负责“同步”。任何一类接口的中断都会导致升级流程阻塞或数据不一致。

4.2 升级流程中的职责划分

以一次典型的租户隔离蓝图升级为例,三类接口在以下四个阶段中的职责划分如下:

  1. 阶段一:升级触发与校验(北向主导)
    • 运维平台通过北向接口提交升级蓝图(含租户 ID、隔离策略版本、目标配置)。
    • 控制平面校验蓝图合法性,返回校验结果(成功/失败/冲突)。
    • 若校验通过,控制平面生成升级任务 ID,并锁定该租户的隔离状态。
  2. 阶段二:状态同步与协商(东西向主导)
    • 控制平面通过东西向接口将升级任务广播至所有相关实例。
    • 各实例确认当前租户隔离状态版本,通过分布式共识(如 Raft)确定升级起始点。
    • 若存在跨集群依赖,东西向接口负责传递依赖关系图与批次序号。
  3. 阶段三:策略下发与生效(南向主导)
    • 控制平面按批次通过南向接口向数据平面下发新的隔离策略。
    • 南向接口采集每台设备的生效确认信号(ACK/NACK)。
    • 若某设备返回 NACK,控制平面触发回滚或重试逻辑。
  4. 阶段四:结果聚合与反馈(北向 + 东西向协同)
    • 东西向接口汇总所有控制平面实例的升级结果,形成全局一致性视图。
    • 北向接口将最终升级状态(成功/部分成功/失败)返回给运维平台。
    • 北向接口同时输出升级审计日志,包含每台设备的策略变更记录。
关键指标:南向接口的生效延迟应 ≤ 500ms(单设备),东西向接口的状态同步延迟应 ≤ 2s(跨集群),北向接口的请求响应时间应 ≤ 1s(不含南向执行时间)。

4.3 接口职责的 SVG 架构图

下图展示了三类接口在升级流程中的交互关系与数据流向:

升级流程中三类接口的职责划分与数据流向 北向接口 (NBI) REST / gRPC 东西向接口 (EWI) Raft / gRPC Stream 控制平面 升级协调器 状态机 / 一致性模块 南向接口 (SBI) OpenFlow / gNMI 数据平面(转发设备 / vSwitch / CNI) 租户隔离策略执行点 升级请求 / 状态返回 状态同步 策略下发 / ACK采集 流表 / 隔离规则 职责说明 • NBI:接收升级请求 • EWI:跨实例状态同步 • SBI:策略下发与确认 • 控制平面:升级协调 • 数据平面:策略执行

4.4 接口职责对比表

对比维度 南向接口 (SBI) 北向接口 (NBI) 东西向接口 (EWI)
数据流向 控制平面 → 数据平面(下行) 编排层 → 控制平面(上行/下行) 控制平面 ↔ 控制平面(双向)
升级阶段主导 阶段三(策略下发与生效) 阶段一(触发校验)+ 阶段四(结果反馈) 阶段二(状态同步)+ 阶段四(结果聚合)
数据一致性要求 最终一致性(允许短暂不一致) 强一致性(请求与响应必须匹配) 强一致性(分布式共识保证)
故障影响范围 单设备或单租户策略失效 升级流程无法启动或无法反馈 跨集群状态分裂,升级死锁
典型性能瓶颈 设备并发数、网络延迟 API 网关吞吐、认证鉴权 共识算法 RTT、消息队列积压

4.5 升级流程中的接口交互时序

下图以时序图形式展示一次成功升级中三类接口的交互顺序:

升级流程接口交互时序(成功路径) 运维平台 北向接口 控制平面 东西向接口 南向接口 升级请求 转发请求 同步租户状态 确认版本 下发隔离策略 ACK 汇总结果 全局一致视图 返回升级状态 升级完成 阶段一 阶段二 阶段三 阶段四
避坑指南:升级流程中,东西向接口的状态同步必须在南向接口策略下发之前完成。若先下发策略再同步状态,可能导致跨集群的租户隔离策略不一致,引发安全漏洞。建议在控制平面中引入“同步屏障”(Sync Barrier)机制,确保所有实例就绪后再执行南向下发。

4.6 接口职责划分的最佳实践

  • 南向接口:优先使用 gNMI 进行配置下发与状态采集,支持增量更新(Replace/Update/Delete),避免全量替换导致的流量中断。对于不支持 gNMI 的遗留设备,使用 NetConf 作为降级方案。
  • 北向接口:采用异步 API 模式(如 202 Accepted + Location Header),避免长时间阻塞运维平台。升级任务状态通过 Webhook 或长轮询主动推送,减少轮询开销。
  • 东西向接口:使用 gRPC 双向流(Bidirectional Streaming)实现实时状态同步,配合 Raft 共识算法保证强一致性。对于跨区域场景,引入 Kafka 作为异步消息缓冲,降低网络抖动影响。
  • 统一监控:三类接口的延迟、错误率、吞吐量应统一接入 Prometheus + Grafana 监控体系,设置独立的告警阈值。南向接口错误率超过 1% 时自动暂停升级,东西向接口同步延迟超过 5s 时触发降级。