云原生网关基础概念:API 网关、微服务网关、Ingress Gateway 与 Service Mesh Gateway 的区别与联系
在云原生架构中,网关是流量入口与治理的核心组件。随着架构从单体演进到微服务、再到服务网格,网关的职责与形态也在不断分化。理解 API 网关、微服务网关、Ingress Gateway 与 Service Mesh Gateway 四者的区别与联系,是构建资源配额模型与漂移告警体系的前提。
1. 四类网关的核心定位
| 网关类型 | 核心职责 | 典型场景 | 协议支持 |
|---|---|---|---|
| API 网关 | 统一入口、协议转换、认证限流、请求路由 | 南北向流量管理、开放 API 平台 | HTTP/HTTPS、gRPC、WebSocket |
| 微服务网关 | 服务发现、负载均衡、熔断降级、灰度发布 | 微服务内部调用、服务间路由 | HTTP、RPC(Dubbo/Thrift) |
| Ingress Gateway | Kubernetes 集群入口、L7 路由、TLS 终止 | K8s 集群南北向流量接入 | HTTP/HTTPS、gRPC |
| Service Mesh Gateway | 网格边界流量管理、mTLS、身份认证、协议嗅探 | 服务网格(Istio/Linkerd)边界入口 | HTTP、TCP、gRPC、mTLS |
关键认知: 四类网关并非互斥关系。在实际生产环境中,它们往往分层部署、协同工作。例如:Ingress Gateway 作为集群入口,将流量转发至 Service Mesh Gateway,再由后者完成网格内的精细化路由与安全策略。
2. 四类网关的架构关系
下图展示了四类网关在云原生架构中的典型分层关系与流量路径:
3. 核心区别对比
| 对比维度 | API 网关 | 微服务网关 | Ingress Gateway | Service Mesh Gateway |
|---|---|---|---|---|
| 流量方向 | 南北向(外部→内部) | 东西向(服务→服务) | 南北向(外部→集群) | 南北向 + 东西向(边界) |
| 部署位置 | 集群最外层 | 服务实例侧(Sidecar 或独立) | K8s 集群边缘 | 网格边界(Ingress/Egress) |
| 安全能力 | JWT/OAuth2、IP 白名单 | 服务间鉴权、 校验 | TLS 终止、证书管理 | mTLS、SPIFFE 身份、授权策略 |
| 可观测性 | 请求日志、调用链采样 | 服务拓扑、延迟指标 | 访问日志、连接数监控 | 全链路追踪、指标聚合 |
| 资源配额模型 | 连接数、QPS、带宽 | 实例数、CPU/Mem 限流 | Pod 数、Ingress 规则数 | Sidecar 资源、连接池大小 |
4. 四类网关的协同工作模式
在云原生生产环境中,四类网关通常以 分层叠加 的方式协同工作,形成完整的流量治理链路:
- 第一层:API 网关 — 负责全局认证、限流、协议转换,将外部请求标准化后转发至集群。
- 第二层:Ingress Gateway — 在 K8s 集群边缘完成 L7 路由与 TLS 卸载,将流量分发到对应 Namespace 或 Service。
- 第三层:Service Mesh Gateway — 在网格边界执行 mTLS 握手、身份验证、协议嗅探,确保进入网格的流量符合安全策略。
- 第四层:微服务网关 — 在服务实例侧(Sidecar 模式)完成服务发现、负载均衡、熔断降级,实现东西向流量精细治理。
资源配额模型漂移告警的关联: 四类网关各自维护独立的资源配额模型(连接池、QPS 阈值、Sidecar 资源限制等)。当模型发生漂移(如配额被静默修改、阈值偏离基线),告警系统需要区分漂移发生的网关层级,才能精准定位根因。本课程后续章节将围绕 Service Mesh Gateway 的配额模型漂移展开复测流程设计。
5. 网关选型建议
| 架构阶段 | 推荐网关组合 | 典型产品 |
|---|---|---|
| 单体应用 | API 网关 | Kong / APISIX |
| 微服务初期 | API 网关 + 微服务网关 | Spring Cloud Gateway / Zuul |
| K8s 原生 | Ingress Gateway + API 网关 | Nginx Ingress / Traefik |
| 服务网格 | Ingress Gateway + Service Mesh Gateway | Istio Ingress Gateway / Envoy |
| 全量云原生 | API 网关 + Ingress + Mesh Gateway + 微服务网关 | Kong + Istio + Envoy |
避坑提示: 不要将所有网关能力堆叠在同一组件中。过度耦合会导致资源配额模型混乱,漂移告警难以溯源。建议按流量方向与安全边界分层部署,每层保持独立的资源配额模型与监控维度。