网关的核心概念及简单演进介绍

一、网关的核心概念与意义

1. 什么是网关?

网关(Gateway) 是在不同网络或协议之间进行协议转换、流量路由和安全控制 的中间件系统。它类似于现实世界中的交通枢纽,负责接收、处理并转发来自不同方向的流量。

2. 网关的核心意义

(1) 协议适配与转换
复制代码
// 网关协议转换示例
type ProtocolAdapter interface {
    // HTTP/1.1 ↔ HTTP/2 ↔ gRPC ↔ WebSocket ↔ TCP/UDP
    Convert(sourceProtocol, targetProtocol Protocol, data []byte) ([]byte, error)
}

// 实际转换场景
func main() {
    // 场景1: WebSocket升级
    gateway.UpgradeWebSocket(httpRequest) -> WebSocket连接
    
    // 场景2: gRPC转HTTP/JSON
    gateway.ConvertGRPCToJSON(grpcRequest) -> HTTP/JSON响应
    
    // 场景3: GraphQL查询路由
    gateway.RouteGraphQL(query) -> 对应微服务
}
(2) 统一的入口点
复制代码
客户端视角:
┌─────────────────────────────────────┐
│         单一访问地址                 │
│    https://api.company.com          │
│                                     │
│  +----------------------------+     │
│  │        网关                │     │
│  │  统一认证、限流、监控       │     │
│  +----------------------------+     │
│          │                          │
│    ┌─────┴─────┐                    │
│    ▼           ▼                    │
│  用户服务     订单服务               │
└─────────────────────────────────────┘
(3) 关注点分离
复制代码
# 网关承担跨领域功能,让业务服务专注业务
网关责任:
  - ✅ 认证与授权
  - ✅ SSL/TLS终止
  - ✅ 限流与熔断
  - ✅ 缓存与压缩
  - ✅ 日志与监控
  - ✅ 请求/响应转换

微服务责任:
  - ✅ 业务逻辑
  - ✅ 数据持久化
  - ✅ 服务间通信
  - ✅ 服务健康

二、网关的演进历程

1. 第一代:硬件/软件网关

复制代码
时代: 2000年代初期
代表: F5 BIG-IP, Citrix NetScaler
特点:
  • 硬件设备或专用软件
  • 负载均衡为主
  • 昂贵的专有解决方案
  • 有限的动态配置能力

2. 第二代:应用交付控制器(ADC)

复制代码
时代: 2010年代初期
代表: Nginx, HAProxy, Apache Traffic Server
特点:
  • 软件定义网络
  • 支持SSL终止、缓存
  • 开源和商业版本
  • 基本的健康检查

3. 第三代:云原生API网关

复制代码
时代: 2015年至今
代表: Kong, Tyk, Apigee, AWS API Gateway
特点:
  • 微服务架构原生
  • 动态服务发现
  • 丰富的插件生态
  • 声明式配置管理
  • 可观测性集成

4. 第四代:服务网格边车网关

复制代码
时代: 2018年至今
代表: Envoy, Istio Ingress Gateway, Linkerd
特点:
  • 与Service Mesh集成
  • 细粒度流量控制
  • 零信任安全模型
  • 协议自动感知
  • 全链路可观测
相关推荐
潞哥的博客1 天前
Ingress nginx退役,该怎么换,gateway api 上线
运维·gateway·k8s
Gold Steps.3 天前
K8s Gateway-API 标准化流量治理
容器·kubernetes·gateway
J_liaty3 天前
Spring Cloud Gateway与LoadBalancer深度整合实战:从基础到进阶
spring·spring cloud·gateway·loadbalancer
L***d6704 天前
SpringColoud GateWay 核心组件
gateway
悟空码字4 天前
Spring Cloud Gateway实战,从零搭建API网关,构建高性能微服务统一入口
java·gateway·springcloud·编程技术·后端开发
i***13244 天前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway
9***g6874 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
lhrimperial8 天前
深入浅出Spring Cloud Gateway:从理论到企业级实践(一)
spring cloud·微服务·系统架构·gateway
lhrimperial8 天前
深入浅出Spring Cloud Gateway:从理论到企业级实践(二)
spring cloud·微服务·系统架构·gateway
ghostwritten9 天前
云原生流量治理新标准:Kubernetes Gateway API 部署实践指南
云原生·kubernetes·gateway