GSLB(Global Server Load Balancing)全局服务器负载均衡

GSLB就是DNS基础上的智能流量调度系统”,它的核心目的是将用户请求分配到不同地理位置(不同数据中心、云平台)的最佳服务器上,以实现:

  • 提高业务可用性(一个数据中心故障,自动切到另一个)
  • 降低访问延迟(让用户访问离自己最近、网络最快的节点)
  • 分担流量压力(把请求分散到多地)

1. GSLB 与传统负载均衡的区别

特性 传统负载均衡 (SLB/L4-L7 LB) GSLB
范围 单个数据中心内 跨多个数据中心 / 云 / 地域
技术基础 IP 分发、代理、NAT 主要基于 DNS(也可结合 HTTP 重定向、路由策略)
典型场景 同一机房内扩展 Web 服务器 多活、灾备、全球加速
感知因素 服务器健康、连接数、CPU 地理位置、RTT 延迟、机房健康、成本、权重

2. GSLB 常见工作模式(基于 DNS 的实现为例)

  1. 用户请求解析域名(如 www.example.com
  2. GSLB 的 DNS 服务器收到请求
  3. GSLB 收集信息:
    • 用户 Local DNS 的 IP(近似用户所在区域)
    • 各数据中心的健康状态、负载、网络质量
  4. GSLB 按预设策略返回 最佳的数据中心 IP
  5. 用户访问该 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 毫秒级切换)