1、网关分类详解:从网络层到应用层的完整网关体系

【投稿赢 iPhone 17】「我的第一个开源项目」故事征集:用代码换C位出道! 10w+人浏览 1.6k人参与

适用人群:后端开发者、系统架构师、DevOps 工程师
学习目标:全面理解网关的分类体系,掌握各类网关的核心作用、适用场景和技术特点


一、什么是网关(Gateway)?

网关(Gateway) 是连接两个不同网络或系统的中介节点,负责协议转换、数据转发、安全控制和流量管理
网关的核心价值是:屏蔽差异、统一入口、增强控制

📌 关键理解:网关不是单一技术,而是一个分层概念,在不同网络层级和应用场景下有不同的实现形式。


二、网关的分类体系

网关可以从多个维度进行分类,最常用的是按网络协议层级应用场景来划分:

网关分类
按网络协议层级
按应用场景
网络层网关
传输层网关
应用层网关
API网关
微服务网关
云原生网关
IoT网关
数据库网关

下面我们详细展开每一类网关。


三、按网络协议层级分类

3.1 网络层网关(Layer 3 Gateway)

📌 定义

工作在 OSI 模型第 3 层(网络层),主要处理 IP 数据包的路由和转发

🔧 典型代表
  • 路由器(Router)
  • 三层交换机(Layer 3 Switch)
💡 核心作用
功能说明
跨网段通信连接不同 IP 网段,实现网络互通
路由选择根据路由表选择最优路径
NAT 转换私有 IP 与公网 IP 的地址转换
基础防火墙基于 IP 地址和端口的访问控制
🌐 应用场景
  • 企业内网与互联网的连接
  • 数据中心不同 VLAN 之间的通信
  • 家庭宽带路由器
⚙️ 技术特点
  • 处理速度快(硬件加速)
  • 不关心应用层协议内容
  • 配置相对简单

3.2 传输层网关(Layer 4 Gateway)

📌 定义

工作在 OSI 模型第 4 层(传输层),基于 TCP/UDP 端口进行流量分发和负载均衡。

🔧 典型代表
  • L4 负载均衡器(如 LVS、F5 BIG-IP L4)
  • 反向代理(如 HAProxy 的 TCP 模式)
💡 核心作用
功能说明
端口级负载均衡根据目标端口将流量分发到后端服务器
连接复用减少后端服务器的连接压力
健康检查监控后端服务的 TCP 连通性
SSL 卸载终止 SSL/TLS 连接(部分支持)
🌐 应用场景
  • 数据库读写分离(MySQL 主从)
  • 游戏服务器 TCP 连接分发
  • 邮件服务器负载均衡
⚙️ 技术特点
  • 性能极高(每秒数十万连接)
  • 不解析 HTTP 内容
  • 配置基于 IP + 端口
📊 配置示例(HAProxy TCP 模式)
listen mysql-cluster
    bind *:3306
    mode tcp
    balance roundrobin
    server mysql1 192.168.1.10:3306 check
    server mysql2 192.168.1.11:3306 check

3.3 应用层网关(Layer 7 Gateway)

📌 定义

工作在 OSI 模型第 7 层(应用层),能够解析和理解应用层协议内容(如 HTTP、HTTPS)。

🔧 典型代表
  • L7 负载均衡器(如 Nginx、Apache HTTP Server)
  • API 网关(如 Spring Cloud Gateway、Kong、Apigee)
  • Web 应用防火墙(WAF)
💡 核心作用
功能说明
内容感知路由根据 URL 路径、HTTP 头、Cookie 等路由
协议转换HTTP/1.1 ↔ HTTP/2 ↔ gRPC
内容修改修改请求/响应头、重写 URL
高级安全防 XSS、SQL 注入、CC 攻击
缓存加速静态资源缓存、动态内容缓存
🌐 应用场景
  • Web 应用的统一入口
  • 微服务架构的 API 管理
  • 移动 App 的后端服务代理
⚙️ 技术特点
  • 功能丰富但性能相对较低
  • 需要解析完整的 HTTP 报文
  • 配置灵活,支持复杂逻辑
📊 配置示例(Nginx)
server {
    listen 80;
    server_name api.example.com;
    
    location /users/ {
        proxy_pass http://user-service;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location /orders/ {
        proxy_pass http://order-service;
        add_header Cache-Control "no-cache";
    }
}

四、按应用场景分类

4.1 API 网关(API Gateway)

📌 定义

专门为 RESTful API 管理设计的应用层网关,是现代微服务架构的核心组件。

🔧 典型产品
  • 开源:Spring Cloud Gateway、Kong、Tyk、Gravitee
  • 云服务:AWS API Gateway、Azure API Management、阿里云 API 网关
  • 企业级:Apigee、MuleSoft
💡 核心功能
功能类别具体能力
API 管理API 发布、版本控制、文档生成、测试控制台
流量控制限流、熔断、降级、负载均衡
安全控制认证(OAuth2、JWT)、授权、IP 黑白名单
监控分析访问日志、性能指标、错误率统计
协议适配HTTP/REST ↔ gRPC ↔ WebSocket 转换
🌐 适用场景
  • 微服务架构的统一 API 入口
  • 对外开放 API 的管理平台
  • 移动端、Web 端、第三方应用的后端集成
⚙️ 技术架构特点
  • 基于响应式编程(如 Spring Cloud Gateway)
  • 支持插件化扩展
  • 与服务注册中心深度集成

4.2 微服务网关(Microservices Gateway)

📌 定义

API 网关在微服务架构中的具体实现,更强调与微服务生态的集成。

🔧 与 API 网关的关系
  • 微服务网关 ⊆ API 网关
  • 微服务网关是 API 网关在特定场景下的子集
💡 微服务网关特有功能
功能说明
服务发现集成自动从 Eureka、Nacos 获取服务列表
动态路由路由配置可实时更新,无需重启
链路追踪与 Zipkin、SkyWalking 集成
配置中心集成路由规则从 Apollo、Config Server 动态加载
🌐 典型架构
服务发现
Client
Gateway
Nacos/Eureka
ServiceA
ServiceB
ServiceC

4.3 云原生网关(Cloud Native Gateway)

📌 定义

Kubernetes 和云原生环境优化的网关,支持服务网格和声明式配置。

🔧 典型产品
  • Ingress Controller:Nginx Ingress、Traefik、Istio Gateway
  • 服务网格网关:Istio Ingress Gateway、Linkerd
  • 云厂商网关:AWS ALB/NLB、GCP Cloud Load Balancing
💡 核心特点
特性说明
声明式配置通过 Kubernetes Ingress 资源定义路由
自动扩缩容与 Kubernetes HPA 集成
多集群支持跨集群流量管理
零信任安全mTLS、服务间认证
🌐 配置示例(Kubernetes Ingress)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: api-ingress
spec:
  rules:
  - host: api.example.com
    http:
      paths:
      - path: /users
        pathType: Prefix
        backend:
          service:
            name: user-service
            port:
              number: 8080

4.4 IoT 网关(IoT Gateway)

📌 定义

连接 物联网设备与云平台的网关,处理设备协议转换和边缘计算。

🔧 典型产品
  • 开源:EMQX、ThingsBoard、Kura
  • 商业:AWS IoT Greengrass、Azure IoT Edge
💡 核心功能
功能说明
协议转换MQTT/CoAP ↔ HTTP/HTTPS
边缘计算在设备端进行数据预处理
设备管理设备注册、状态监控、固件升级
离线支持网络中断时本地缓存数据
🌐 应用场景
  • 智能家居设备接入
  • 工业物联网数据采集
  • 车联网通信

4.5 数据库网关(Database Gateway)

📌 定义

为数据库访问提供统一代理和安全控制的网关。

🔧 典型产品
  • MySQL ProxyProxySQL
  • MongoDB Atlas 的连接代理
  • AWS RDS Proxy
💡 核心功能
功能说明
连接池管理减少数据库连接开销
读写分离自动路由读写请求
SQL 审计记录和分析 SQL 语句
安全防护防止 SQL 注入、敏感数据脱敏

五、各类网关对比总结

网关类型工作层级主要协议核心价值典型产品
网络层网关Layer 3IP跨网段通信、路由路由器、三层交换机
传输层网关Layer 4TCP/UDP端口级负载均衡LVS、HAProxy(TCP)
应用层网关Layer 7HTTP/HTTPS内容感知、协议转换Nginx、Apache
API 网关Layer 7HTTP/RESTAPI 管理、安全控制Spring Cloud Gateway、Kong
微服务网关Layer 7HTTP/REST服务发现、动态路由Spring Cloud Gateway
云原生网关Layer 7HTTP/gRPCKubernetes 集成Istio、Traefik
IoT 网关Layer 7MQTT/CoAP设备协议转换EMQX、AWS IoT Greengrass
数据库网关Layer 7SQL连接池、读写分离ProxySQL、RDS Proxy

六、如何选择合适的网关?

🎯 选择原则

  1. 按需求层级选择

    • 只需 IP 路由 → 网络层网关
    • 需要端口负载均衡 → 传输层网关
    • 需要 HTTP 内容处理 → 应用层网关
  2. 按应用场景选择

    • 微服务架构 → API 网关/微服务网关
    • Kubernetes 环境 → 云原生网关
    • 物联网项目 → IoT 网关
  3. 按性能要求选择

    • 高并发简单转发 → L4 网关
    • 复杂业务逻辑 → L7 网关

🏗️ 典型架构组合

L3/L4
L4
L7
gRPC
Internet
Firewall
L4 Load Balancer
API Gateway
MicroserviceA
MicroserviceB
LegacySystem

💡 最佳实践:在生产环境中,往往多种网关组合使用,形成完整的流量治理体系。


七、总结

  • 网关是一个分层概念,从网络层到应用层都有对应的网关类型
  • API 网关只是应用层网关的一种,专门用于 API 管理场景
  • Spring Cloud Gateway 属于微服务网关,是 API 网关在 Spring Cloud 生态中的具体实现
  • 选择网关要根据具体需求,没有“万能”的网关,只有“合适”的网关

理解网关的分类体系,有助于你在架构设计时做出更合理的技术选型,构建高效、安全、可维护的系统。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值