3. IDP 网络拓扑基础概念:服务网格、API网关、服务发现、负载均衡、南北向与东西向流量,拓扑抽象模型

在内部开发者平台(IDP)中,网络拓扑是支撑微服务通信、流量治理与安全策略的骨架。理解服务网格、API网关、服务发现、负载均衡以及南北向/东西向流量的划分,是构建可观测、可管控的IDP网络基础设施的前提。本节将逐一拆解这些核心概念,并给出统一的拓扑抽象模型。

3.1 核心概念速览

概念 核心职责 IDP中的典型角色
服务网格 微服务间通信的抽象层,提供流量管理、安全、可观测性 Sidecar代理(Envoy/Istio)注入Pod,实现无侵入治理
API网关 外部流量入口,负责认证、限流、路由、协议转换 统一暴露内部服务,与Backstage插件对接API目录
服务发现 动态获取服务实例的网络位置(IP:Port) 与Kubernetes Service/Consul集成,支撑蓝绿发布
负载均衡 将请求分发到多个后端实例,提升可用性与吞吐 四层(LVS)与七层(Nginx/Envoy)混合部署
南北向流量 外部客户端到内部服务的流量 经API网关 → 服务网格入口 → 目标服务
东西向流量 内部服务之间的流量 经服务网格Sidecar代理直连,mTLS加密
关键认知: 在IDP中,API网关负责“南北向”的边界管控,服务网格负责“东西向”的网格内治理。两者分工明确,但通过统一的控制平面(如Istio的Ingress Gateway)可实现策略联动。

3.2 南北向与东西向流量模型

流量方向的划分决定了网络策略的部署位置与安全边界。南北向流量通常经过API网关,执行认证、限流、TLS终止;东西向流量则在服务网格内部通过Sidecar代理完成,默认启用mTLS与细粒度访问控制。

南北向与东西向流量模型 外部客户端 API网关 服务网格边界 服务A (Sidecar代理) 服务B (Sidecar代理) 服务C (Sidecar代理) 服务D (Sidecar代理) 南北向 南北向 东西向 东西向 东西向 南北向流量(经API网关) 东西向流量(经Sidecar代理)

3.3 服务发现与负载均衡的协作机制

服务发现为负载均衡提供动态的后端实例列表,负载均衡则根据策略将流量分发到健康实例。在IDP中,这一协作通常由控制平面(如Istio Pilot或Consul Server)统一协调。

典型流程:
1. 服务实例启动,向注册中心(Kubernetes API / Consul)注册自身IP:Port及元数据。
2. 服务网格控制平面监听注册变化,生成最新的服务端点列表。
3. Sidecar代理(Envoy)通过xDS协议获取端点列表,构建本地负载均衡池。
4. 请求到达时,Sidecar根据权重、连接数、区域等策略选择目标实例。

3.4 拓扑抽象模型

为简化IDP中的网络拓扑管理,我们引入分层抽象模型。该模型将物理/虚拟网络资源映射为逻辑层,使Backstage插件能够以统一的方式描述服务依赖、流量路径与安全策略。

IDP网络拓扑抽象模型 接入层(Access Layer) 外部DNS、CDN、WAF、API网关、TLS终止 服务网格层(Service Mesh Layer) Sidecar代理、流量路由、mTLS、可观测性 服务发现层(Service Discovery Layer) 注册中心、端点管理、健康检查、命名空间 基础设施层(Infrastructure Layer) Kubernetes Pod/Service、虚拟机、物理网络、负载均衡器 Backstage插件 通过Catalog API 读取各层拓扑

3.5 各层在Backstage插件中的映射

抽象层 Backstage实体类型 插件示例
接入层 API、Domain API Docs插件、API Gateway插件
服务网格层 Component、Resource Kiali插件、Istio Config插件
服务发现层 System、Group Kubernetes插件、Consul插件
基础设施层 Location、Resource Kubernetes Cluster插件、ArgoCD插件
常见误区: 不要将API网关直接暴露给服务网格内部的东西向流量。API网关应仅处理南北向流量,东西向流量应完全由服务网格Sidecar代理接管,否则会引入不必要的延迟与安全盲区。

3.6 拓扑抽象模型的价值

  • 解耦关注点: 每层只关注本层职责,接入层不关心服务发现细节,服务网格层不关心物理网络拓扑。
  • 统一治理: Backstage插件通过抽象模型获取一致的拓扑视图,无需适配底层异构网络。
  • 可观测性增强: 每层暴露标准化的指标(请求数、延迟、错误率),便于构建全局拓扑图。
  • 策略联动: 例如在接入层配置限流后,自动同步到服务网格层的流量路由策略。