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

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

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集成
  • 细粒度流量控制
  • 零信任安全模型
  • 协议自动感知
  • 全链路可观测
相关推荐
2601_9491942618 小时前
Gateway Timeout504 网关超时的完美解决方法
gateway
码点滴2 天前
私有 Gateway 接入企业 IM:从消息路由到多租户隔离——Hermes Agent 工程实战
人工智能·架构·gateway·prompt·智能体·hermes
代码写到35岁2 天前
Gateway+OpenFeign 踩坑总结
gateway
invicinble2 天前
对于gateway信息量沉淀
gateway
郝开3 天前
Spring Cloud Gateway 3.5.14 使用手册
java·数据库·spring boot·gateway
Ribou4 天前
Kubernetes v1.35.2 基于 Cilium Gateway API 的服务访问架构
架构·kubernetes·gateway
huipeng9265 天前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
随风,奔跑8 天前
Spring Cloud Alibaba(四)---Spring Cloud Gateway
后端·spring·gateway
jiayong239 天前
Hermes Agent 的 Skills、Plugins、Gateway 深度解析
ai·gateway·agent·hermes agent·hermes
鬼蛟9 天前
Gateway
gateway