2. IDP 网络拓扑基础:服务网格、API 网关、负载均衡器在 IDP 中的角色与数据流

内部开发者平台(IDP)的网络拓扑是流量治理的骨架。服务网格、API 网关和负载均衡器三者分工明确,又相互协作,共同构成 IDP 的南北向与东西向流量通道。理解每个组件的角色以及数据流经过的路径,是后续分析 SLO 违约与流量可视化的前提。

2.1 三大核心组件的角色定义

组件 OSI 层级 核心职责 典型产品
负载均衡器 L4 / L7 流量分发、健康检查、会话保持、DDoS 基础防护 NLB / ALB / HAProxy
API 网关 L7 请求路由、认证鉴权、限流熔断、协议转换、API 版本管理 Kong / APISIX / Envoy Gateway
服务网格 L7 东西向流量管理、mTLS、可观测性、灰度发布、故障注入 Istio / Linkerd / Consul Connect
关键认知: 负载均衡器处理“入口流量分发”,API 网关处理“业务策略执行”,服务网格处理“服务间通信治理”。三者不是替代关系,而是分层协作关系。

2.2 数据流全景:从用户请求到后端服务

一个典型的 IDP 请求路径会依次经过以下节点:

  1. 外部 DNS → 负载均衡器: 用户请求经 DNS 解析到达公网负载均衡器,完成 TLS 终止和第一层流量分发。
  2. 负载均衡器 → API 网关: 负载均衡器将流量转发至 API 网关集群,网关根据路由规则匹配目标服务。
  3. API 网关 → 服务网格入口网关: 网关将请求转发至服务网格的 Ingress Gateway,注入链路追踪上下文。
  4. 服务网格 Sidecar 代理: 请求进入 Pod 后由 Sidecar 拦截,执行流量策略(重试、超时、熔断)。
  5. 服务间调用: 若请求需要调用下游服务,Sidecar 通过 mTLS 加密转发至目标服务的 Sidecar。
流量路径口诀: 入口 LB → API 网关 → 网格入口 → Sidecar → 目标服务。每一步都产生可观测性数据,是 SLO 违约定位的关键线索。

2.3 组件协作关系图

下图展示了 IDP 中负载均衡器、API 网关与服务网格的拓扑连接关系,以及数据流在各层之间的传递路径。

IDP 网络拓扑:负载均衡器、API 网关与服务网格协作关系 IDP 网络拓扑核心组件协作关系 外部用户 负载均衡器 (L4/L7) API 网关 (L7) 服务网格 Ingress Gateway Sidecar 代理 (Envoy) 目标服务 (Pod) 流量流向说明 ① 用户 → LB → API 网关 ② 网关 → 网格入口 → Sidecar ③ Sidecar → 目标服务 东西向流量 服务A → Sidecar → 服务B mTLS 加密 + 流量策略 可观测性数据采集

2.4 数据流中的关键决策点

每个组件在数据流中都会执行特定的决策,这些决策直接影响 SLO 的达成情况:

决策点 组件 决策内容 对 SLO 的影响
健康检查 负载均衡器 后端实例是否存活 影响可用性 SLO
限流 API 网关 是否允许请求通过 影响吞吐量 SLO
熔断 服务网格 是否快速失败 影响延迟 SLO
重试 服务网格 是否重试失败请求 影响错误率 SLO

2.5 南北向与东西向流量分离

IDP 网络拓扑中,流量分为两个维度:

  • 南北向流量: 外部用户到内部服务的流量。路径为:负载均衡器 → API 网关 → 服务网格入口 → Sidecar → 目标服务。此路径上的组件负责认证、限流、TLS 终止。
  • 东西向流量: 服务之间的内部调用。路径为:服务A Sidecar → 服务B Sidecar。此路径上的组件负责 mTLS、流量策略、分布式追踪。
常见误区: 不要将 API 网关直接暴露给外部流量而不经过负载均衡器。负载均衡器提供 DDoS 防护和 TLS 卸载,API 网关专注业务策略,职责分离才能保障稳定性。

2.6 服务网格 Sidecar 的数据流细节

Sidecar 代理(通常为 Envoy)是服务网格的数据面核心。下图展示了一个请求在 Sidecar 内部的处理流程:

Sidecar 代理内部数据流处理流程 Sidecar 代理内部数据流处理流程 入站流量 入站监听器 过滤器链 集群管理器 目标服务 过滤器链中的关键过滤器 • TCP 代理过滤器:处理 L4 流量转发 • HTTP 连接管理器:解析 HTTP 协议,执行路由、重试、超时 • RBAC 过滤器:基于角色的访问控制 • 限流过滤器:本地/全局限流策略执行

2.7 组件选型对比

在 IDP 建设过程中,不同规模和技术栈的团队对组件的选型存在差异。下表对比了主流方案的关键特性:

维度 负载均衡器 API 网关 服务网格
配置复杂度 低 中 高
性能开销 极低 低 中(Sidecar 增加 5-10% 延迟)
可观测性 基础指标 请求级指标 全链路追踪 + 指标 + 日志
安全能力 TLS 终止 认证、鉴权、WAF mTLS、零信任
适用场景 入口流量分发 API 管理、聚合 微服务间通信治理
实践建议: 在 IDP 初期,可以先部署负载均衡器 + API 网关,满足南北向流量治理需求。当微服务数量超过 20 个时,再引入服务网格治理东西向流量,避免过早引入复杂度。

2.8 数据流与 SLO 违约的关联

每个组件在数据流中产生的指标,都是 SLO 违约分析的数据源:

  • 负载均衡器: 5xx 错误率、后端响应时间、健康检查失败次数。
  • API 网关: 限流触发次数、认证失败率、路由匹配失败次数。
  • 服务网格: 重试次数、熔断打开次数、mTLS 握手失败次数、延迟分布。

当 SLO 违约发生时,流量可视化系统需要从这些组件的指标中快速定位瓶颈点。例如,如果 API 网关的限流触发次数突增,说明上游负载均衡器分发流量过大;如果服务网格的重试次数突增,说明下游服务出现异常。