You need to enable JavaScript to run this app.
导航

GTM 结合 ALB 实现跨地域流量调度与容灾切换

最近更新时间2023.09.27 14:09:29

首次发布时间2023.09.27 14:09:29

概述

如果您的机房分布在多个地域,且您的服务属于应用层网站、音视频应用等大流量分发场景,您可以结合 火山引擎应用型负载均衡(ALB) 实现不同地域之间的流量调度与容灾切换。

alt

流量调度

全国各地的用户就近访问各个地域的 ALB 实例。云调度 GTM 既有基于地理位置、网络运营商的传统 DNS 智能解析功能,也有根据延时等特性自动实现的就近接入能力。

  • 基于延时的自动流量调度:GTM 实例可以自动根据客户端到服务端的延时,向客户端返回延时最低的服务端地址。

  • 负载均衡:GTM 实例根据不同 ALB 实例的容量,让流量按权重分配到各个 ALB 实例。ALB实例接受访问流量并将请求转发到同一地域下多个可用区的后端服务器上,实现对流量的均衡调度。

容灾切换

云调度 GTM 与应用型负载均衡 ALB 结合可以同时实现同一地域内可用区之间的容灾(同城容灾)和地域之间的容灾(异地容灾)。

  • 同城容灾:ALB 实例可以对后端服务器进行健康检查。当一个 ALB 实例的某个可用区的公网 IP 不可用时,该公网 IP 和后端服务器会被屏蔽,系统同时对剩余健康服务器按照均衡算法设置的比例重新分发访问流量。

  • 异地容灾:当一个地域的 ALB 实例不可用,或 ALB 实例的所有后端服务器都不可用时,云调度 GTM 自动屏蔽该 ALB 实例的实例域名,确保流量被路由到正常提供服务的 ALB 实例。

实现步骤

alt

上图的场景显示了 GTM 实例与 ALB 实例结合实现跨地域流量调度与容灾切换。

  • 用户访问 GTM 实例的接入域名 CNAME,GTM 实例把用户的 DNS 查询请求解析到 ALB 实例的实例域名。您可以根据不同 ALB 实例的容量,为不同 ALB 实例的实例域名设置权重。

  • ALB 实例按照负载均衡算法将访问流量转发至同一地域下的多个可用区的后端服务器。

您可以参见以下步骤,结合应用型负载均衡 ALB 和云调度 GTM 实现该场景。

步骤一:基于 ALB 实例实现跨可用区的负载均衡与容灾

在华东和华北分别创建以下两个 ALB 实例:

  • 华东 ALB 实例:对华东的可用区 A 和可用区 B 的后端服务器进行负载均衡与容灾。

  • 华北 ALB 实例:对华北的可用区 A 和可用区 B 的后端服务器进行负载均衡与容灾。

本文假设华东 ALB 实例的后端服务器与华北 ALB 实例的后端服务器的流量承载能力的比例为 4:1。

步骤二:基于 GTM 实例实现跨地域的流量调度与容灾

创建一个 GTM 实例,在 GTM 实例下分别创建一条路由规则和一个地址池集合 。地址池集合包含以下地址池:

  • 华东地址池:目标地址为华东 ALB 实例的实例域名,权重为 80。

  • 华北地址池:目标地址为华北 ALB 实例的实例域名,权重为 20。

这样,GTM 实例就可以对华东 ALB 实例和华北 ALB 实例进行跨地域的流量调度与容灾。云调度 GTM 支持多种调度策略。您也可以使用性能最优调度策略,直接把华东地址池和华北地址池设为流量目标。