前言

在现代互联网架构中,随着服务化、微服务和云原生架构的广泛应用,系统前端需要具备更强大的流量控制能力,不仅要转发请求,还要处理认证、安全、路由、缓存等多种逻辑。这时,Application Gateway(应用网关) 作为第七层(L7)流量控制核心组件,被广泛应用于实际系统中。


定义

Wiki 上的定义如下:

An application gateway or application-level gateway (ALG) is a firewall proxy that filters incoming node traffic to certain specifications.

更现代的理解是:

Application Gateway 是位于 OSI 第七层的网关组件,用于处理应用层协议的请求转发、路由、认证鉴权、安全防护等功能。


工作原理

一句话总结:

Application Gateway 通过深度解析应用层流量(如 HTTP/HTTPS),实现智能路由、负载均衡、安全控制等功能,通常作为服务流量的“总入口”。

常见请求路径如下:

1
Client → Application Gateway → Backend Services

应用网关具备对 HTTP Header、URL、Cookie 等 L7 元素的全面感知和处理能力,因此可以实现更复杂的转发与策略控制。


属性与指标

关注的 Application Gateway 主要属性和指标包括:

  1. L7 路由能力 支持基于路径、主机名、参数、Header 的路由规则。

  2. SSL/TLS 终止 可以对 HTTPS 流量进行解密,支持统一证书管理。

  3. 认证鉴权 如 OAuth2、JWT、API Key 验证等。

  4. WAF(Web Application Firewall) 提供防 SQL 注入、XSS 等安全防护能力。

  5. Session 粘性(Sticky Session) 支持基于 Cookie 或 IP 实现会话保持。

  6. 流量控制能力 限流、熔断、重试等策略支持。

  7. 性能指标 延迟、吞吐量、并发连接数、错误率等。


类型

按用途分类

  1. API Gateway(API 网关) 专门用于管理微服务架构中的 API 请求,如 Kong、Apigee、AWS API Gateway。

  2. Web Application Gateway(Web 应用网关) 主要处理面向 Web 流量的 HTTP/HTTPS 请求,如 Azure Application Gateway、F5 BIG-IP。

按部署方式分类

  1. 托管型网关(Managed Gateway) 如 Azure Application Gateway、AWS ALB,云厂商提供,运维简单。

  2. 自托管网关(Self-hosted Gateway) 如 NGINX、Traefik、Kong,用户自行部署与维护。


Application Gateway 与程序关系

Application Gateway 是应用系统与外部访问之间的桥梁。通常:

  • 客户端访问系统通过 Application Gateway 进入
  • 微服务系统中的所有 API 流量由 API Gateway 管控
  • 实现统一的安全认证、路径路由、负载均衡和日志采集
  • 可以作为 SSO(单点登录)集成点

常用 Application Gateway 产品

名称 类型 特点
NGINX 自托管 高性能,支持 L7 路由和自定义模块,广泛应用
Traefik 自托管 云原生友好,自动发现服务,支持 K8s、Docker 集成
AWS Application Load Balancer 托管型 与 AWS 紧密集成,支持 L7 路由、TLS、认证等功能
Azure Application Gateway 托管型 支持 WAF、Autoscale、集成 Azure Front Door
Kong Gateway 自托管/API 网关 插件丰富,支持认证、限流、日志、安全策略等
Apigee (Google Cloud) 托管型 企业级 API 管理平台,强大的安全与流量控制能力

总结

Application Gateway 是现代互联网系统中实现流量管理、安全防护、智能路由的关键组件。它不仅是连接外部流量的入口点,更是系统稳定性与可扩展性的核心支柱。

一句话总结:Application Gateway 是现代应用流量的“交通指挥官”。