GSLB(Global Server Load Balancing)全局服务器负载均衡
GSLB就是DNS基础上的智能流量调度系统”,它的核心目的是将用户请求分配到不同地理位置(不同数据中心、云平台)的最佳服务器上,以实现:
- 提高业务可用性(一个数据中心故障,自动切到另一个)
- 降低访问延迟(让用户访问离自己最近、网络最快的节点)
- 分担流量压力(把请求分散到多地)
1. GSLB 与传统负载均衡的区别
| 特性 | 传统负载均衡 (SLB/L4-L7 LB) | GSLB |
|---|---|---|
| 范围 | 单个数据中心内 | 跨多个数据中心 / 云 / 地域 |
| 技术基础 | IP 分发、代理、NAT | 主要基于 DNS(也可结合 HTTP 重定向、路由策略) |
| 典型场景 | 同一机房内扩展 Web 服务器 | 多活、灾备、全球加速 |
| 感知因素 | 服务器健康、连接数、CPU | 地理位置、RTT 延迟、机房健康、成本、权重 |
2. GSLB 常见工作模式(基于 DNS 的实现为例)
- 用户请求解析域名(如
www.example.com) - GSLB 的 DNS 服务器收到请求
- GSLB 收集信息:
- 用户 Local DNS 的 IP(近似用户所在区域)
- 各数据中心的健康状态、负载、网络质量
- GSLB 按预设策略返回 最佳的数据中心 IP
- 用户访问该 IP
例如:北京用户 → 解析到 华北数据中心 IP;上海用户 → 华东数据中心 IP
3. 常见的流量调度策略
- 地理位置/运营商(就近接入)
- 轮询 / 加权轮询(简单分发)
- 基于延迟(RTT 探测)(动态选择最快节点)
- 基于健康检查(避开故障节点)
- 基于优先级(主备容灾)
- 基于成本(流量成本更低的区域)
4. 使用 GSLB 的典型场景
- 多数据中心主备或双活:主中心故障,DNS 解析自动切到备中心
- 全球 Web 加速:欧美用户去欧洲/北美站点,亚洲用户去新加坡站点
- 多云/混合云流量分担:同时跑在公有云(AWS、阿里云、腾讯云)和自建机房
- CDN 未覆盖的业务:例如 API 网关、游戏接入层、实时音视频调度
5. 主流厂商与实现
- 硬件/商业:F5 GTM(现称 F5 DNS)、Citrix ADC(NS)、Radware
- 软件:PowerDNS + 自研插件、NGINX Plus(部分功能)、BIND + GeoIP
- 云厂商:
- AWS Route 53(基于延迟/地理位置/故障转移)
- 阿里云 DNS(GTM / 全局流量管理)
- Azure Traffic Manager
- 腾讯云 GSLB
- 华为云 DNS 全局流量管理
6. GSLB 的局限(基于 DNS 的实现)
- DNS 缓存问题:Local DNS 可能缓存失效节点的 IP,导致切换不及时(可降低 TTL 缓解)
- 无法感知客户端实际网络质量:依赖 Local DNS IP 推测位置,不准确(可使用 EDNS Client Subnet 改善)
- 故障切换时间较长:秒级甚至分钟级(相比数据中心内 LB 毫秒级切换)