东西网关和南北网关

🧭 一图理解(流量方向):

          ↑ 北向(Northbound)
   外部客户端/浏览器/第三方系统
          |
        南北网关(API Gateway)
          ↓
   ┌──────────────────────────┐
   │        服务网格 / 应用层        │
←→│   Service A ←→ Service B  │←→
   │     (东西方向)                │
   └──────────────────────────┘
          ↑
        数据库、消息队列等资源(南向)

 


✅ 一、南北网关(North-South Gateway)

📌 定义:

外部流量(客户端、API、第三方)进出系统 时经过的网关组件。

📥 南北流量:

  • 北向:从外部 → 系统内部(如调用接口、访问系统)

  • 南向:从内部 → 外部(如调用第三方服务)

📌 典型技术组件:

功能技术
API 网关 Spring Cloud Gateway、Kong、Nginx、APISIX
身份验证 JWT、OAuth2、API Key
安全防护 限流、鉴权、IP 白名单、SSL 终止
协议转换 HTTP ↔ gRPC、REST ↔ SOAP
多租户控制 根据租户分发流量

✅ 二、东西网关(East-West Gateway)

📌 定义:

系统内部服务之间的通信 流量的控制与治理,主要用于服务间访问控制。

📥 东西流量:

  • 服务 A → 服务 B(内部微服务之间)

  • pod → pod、container → container

📌 典型技术组件:

功能技术
服务代理 Istio、Linkerd、Envoy
零信任访问 mTLS、身份认证、策略控制
服务发现 内部 DNS、Sidecar proxy
调用链追踪 Zipkin、Jaeger
服务熔断/限流 Resilience4j、Envoy Filter

✅ 对比总结

对比项南北网关(North-South)东西网关(East-West)
流量来源 外部客户端 ↔ 系统 系统内部服务之间
使用目的 接入控制、路由、限流、鉴权 服务发现、访问控制、流量治理
示例技术 Spring Gateway, Kong, Nginx Istio, Envoy, Linkerd
控制粒度 请求级别 服务级别、容器级别
关注点 安全、流控、接入 观测、可用性、零信任

✅ 常见场景示意

🧊 南北网关典型用法:

  • 手机 App 请求 api.xx.com → 进入 API Gateway → 分发到内部微服务

  • 外部系统调用你提供的 OpenAPI

🔁 东西网关典型用法:

  • Service A(用户服务)调用 Service B(订单服务),由 Istio 控制访问和监控

  • 服务间通信默认使用 mTLS,确保链路安全


✅ 在 Kubernetes 中的体现:

方向体现方式
南北流量 Ingress 控制器(Nginx Ingress / API Gateway)
东西流量 ServiceMesh(Istio, Linkerd 的 Sidecar 代理)

✅ 总结一句话

“南北网关管的是外部人怎么进来,东西网关管的是内部人怎么说话。”


 

 
posted @ 2025-07-08 14:22  r1-12king  阅读(143)  评论(0)    收藏  举报