容灾切换必备——全局流量管理介绍

摘要:
您需要一个全球交通管理产品来帮助您解决问题。什么是全球交通管理?全球流量管理是阿里云19年推出的产品。基于多年在阿里巴巴经济中的流量调度和管理经验以及在许多业务场景中的实践,全球流量管理应运而生,以帮助用户有效管理业务流量。此外,根据全局配置中的负载平衡策略自动分配流量。此外,当地址池整体出现问题时,将触发默认地址池和备用地址池之间的自动切换。

如今人们对互联网服务的依赖越来越重,提供低延时高可用的服务成为越来越多互联网服务厂商的迫切需求。您是否也遇到过以下问题:
1、需要降低网络耗时,却不知道怎么实现用户服务的就近访问?
2、需要对服务进行灰度验证,却不知道如何控制各个节点的流量比重,不知道如何资源分配?
3、知道保障服务的可用性非常重要,却在遇到故障时,不知道如何快速将流量引流到其他可用节点?
您需要全局流量管理产品来帮助您排忧解难。

什么是全局流量管理

全局流量管理(Global Traffic Manager,以下简称 GTM),是阿里云在19年推出的一款产品。DNS 是当今互联网领域最常见的流量调度方式, 随着分布式服务技术的发展,主备部署、异地多活等多节点架构逐步成为主流。对业务流量进行有效的调度管理,以达到服务低延时高可用的目的就显得尤为重要。根据对阿里经济体多年的流量调度管理经验,以及在众多业务场景(容灾切换,大规模迁站,经济体上云等)中的实践,全局流量管理应运而生,能够帮助用户高效地管理业务流量。

GTM 原理

GTM 本质上是通过 DNS 实现流量调度,底层服务使用的是“云解析DNS”和“云监控”两款产品,集成了DNS的智能解析功能、云监控的应用服务监控功能,为客户输出不同网络或地区用户访问实现就近接入、应用服务运行状态的健康检查、故障自动切换等能力。

01

图1: GTM原理图


GTM 会为用户提供一个 CNAME 接入域名(类似 CDN 的接入域名,用户需要将自己的业务域名 CNAME 到该接入域名上来使用 GTM 的功能)并需要用户配置 地址池(Pool)。

  • 一个地址池,代表一组提供相同应用服务,一般是具备相同运营商或地区(region)属性的IP地址或域名地址。
  • 然后通过 访问策略 配置,将接入域名和地址池进行关联,GTM 支持按照运营商或地域维度解析到某个地址池,地址池中的地址支持 负载均摊 和 加权轮询 的策略。
  • 最后通过开启 健康检查(HealthCheck) 来对地址池中的地址进行可用性监控。当某个地址不可用时,会自动隔离该地址;当 GTM 认为整个地址池不可用时会自动切换到 备用地址池。

从概念和原理上,GTM 容易和负载均衡(SLB)以及云解析全局负载均衡(GSLB) 混淆。

全局流量管理(GTM)和负载均衡(SLB)的区别:

  • GTM 是通过DNS将域名解析到多个IP地址,不同用户访问不同的IP地址,来实现应用服务流量的分配。同时通过健康检查动态更新DNS解析IP列表,实现故障隔离以及故障切换。最终用户的访问直接连接服务的IP地址,并不通过GTM。
  • 而 SLB 是通过代理用户访问请求的形式将用户访问请求实时分发到不同的服务器,最终用户的访问流量必须要经过SLB。一般来说,相同Region使用SLB进行负载均衡,不同region的多个SLB地址时,则可以使用GTM进行负载均衡 。
    两者的对比如下表所示:
对比项网络层后端地址加权轮询跨Region难度故障间隔时间会话保持
GTM3 层域名、IP支持简单分钟级不支持
SLB4层、7层IP支持困难秒级支持

表1:GTM 与 SLB 对比

  • 全局流量管理(GTM)和全局负载均衡(GSLB)的区别:
    GTM 是现有云解析DNS中全局负载均衡(GSLB)的升级和替代产品,GTM比GSLB支持更多的监控方式、更高级的IP地址管理功能、更稳定快速的监控反馈体验。

两者的对比如下表所示:

对比项服务接入健康检查故障切换时间多线路接入链路互备
GTMCNAME 接入ping,tcp,http(s)分钟级,不受子域名 TTL 限制电信、联通、移动、鹏博士故障自动切换,可控
GSLB子域名开启不支持受子域名TTL 限制不支持随机选择正常链路,不可控

表2:GTM 与 GSLB 对比

GTM 功能特性

地址池:

传统DNS解析到单个地址,而GTM则引入地址池概念。通过地址池可对应用服务的IP地址进行统一管理。实现将终端用户访问解析到应用服务地址池,既可实现高负载情况下的流量均摊,又可实现自定义流量分配。同时当地址池整体不可用时,可以做备份切换。

访问策略:

访问策略旨在解决根据请求来源和地址池健康情况进行地址池切换的问题。既能做到地址池纬度智能解析,又可实现故障自动切换功能。
GTM对中国的4大运营商、7大区域、海外6大洲进行智能DNS解析,可以实现来源于不同网络或区域的用户访问者实现就近接入,提高访问速度。
当地址池整体出现故障时,GTM会根据用户自定义策略进行地址池分钟级切换,并当地址池恢复时切回。

健康检查:

依托于云监控强大的分布式监控功能,GTM新增了HealthCheck模块,从多个地区对地址池内的多个应用服务IP地址发起健康探测,目前已支持http/https、tcp、ping三种方式。当地址池中地址发生故障时HealthCheck模块会准确的检测到异常情况并与DNS交互,摘除故障地址。并当故障地址恢复时,自动恢复至解析返回列表。
经过测试团队对GTM多次测试验证,当应用服务发生故障时,GTM能在 5分钟内 将应用服务的90%左右的流量切换成功。GTM的故障切换生效时间 = 故障发现时间 + DNS切换同步时间 。
故障发现时间:目前默认的健康检查配置可以在故障的3分钟左右准确发现故障;
DNS切换同步时间:目前 GTM 的cname接入域名TTL设置为60秒,理论上域名切换后60秒内可以生效,但实际情况取决于全国各地运营商的缓存设置时间。

应用场景

接下来以异地双活为例介绍如何借助GTM实现快速容灾切换。如下图所示,某服务的用户主要分为海外用户和国内用户,后端服务采用一套部署方案。通过GTM对不同地区用户请求进行智能调度,将用户访请求流量路由至不同的接入服务点,即海外用户访问新加坡中心(Singapore),国内用户访问杭州中心(CN-Hangzhou)。当某站点发生故障灾难时,各接入站点自建互相备份,最终实现业务的高可用。

02

图2: GTM 在异地多活中的应用

五步快速接入GTM,实现异地容灾:

(1)全局配置:
基础配置,主要配置负载均衡策略、全局TTL、报警通知组等相关信息。

(2)地址池配置:
新建地址池Singapore和CN-Hangzhou。每个地址池中均配置该区域下多个服务IP,以及最小可用地址数量。当地址池存活地址数小于该地址池数量时,则地址池视为不可用。此外,根据全局配置中负载均衡策略自动实现流量分配。

(3)开启健康检查
即对地址池中的IP地址配置健康检查,开启后可实现实时监测地址的可用性状态。根据地址的可用性进行故障自动隔离,并通知相应报警组。当地址恢复后,自动添加至解析列表。此外,当地址池整体出现问题时,触发默认地址池与备用地址池之间自动切换。

(4)访问策略配置
根据用户的请求来源设置最终用户访问哪一个地址池。如图2所示,海外用户希望访问Singapore地址池,则需设置相应访问策略,请求来源设置海外地区,默认地址池为Singapore,备用地址池设置CN-Hangzhou。则正常请求下,则海外用户访问Singapore中心,发生故障后会快速切换至CN-Hangzhou中心。

(5)CNAME接入配置
需要将用户访问的主域名CNAME至全局流量管理的实例域名,才能最终实现对应用服务进行容灾、智能接入。即将图中的www.cloud-example.com CNAME到我们提供的接入域名。

配置完成后, GTM将根据健康配置实时探测地址池中地址,当地址发生报警时,则根据图3的流程进行判断,实现容灾切换,以图2中IP地址A报警为例。由此可见,当默认地址池(Singapore)地址池可用时,则解析列表摘除地址A,当默认地址池整体不可用时则切换备用地址池(CN-Hangzhou),切换过程自动完成,并缩小时间至分钟级。从而有效保证异地容灾的切换效率。

03

免责声明:文章转载自《容灾切换必备——全局流量管理介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】物化视图刷新.10-浅析webpack源码之graceful-fs模块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GSM、GPRS、EDGE、2G、3G与WAP的关系

  1、GSM(Global System of Mobile communication)即全球移动通讯系统:   是目前使用人数最大的移动通信网络,就是2G的移动通信技术,是一种电路交换系统。这种网络仅提供话音、文字短信等简单的功能,没有数据通信服务。   2、GPRS(General Packet Radio Service)即通用分组无线服务:  ...

apache2.2安装和配置(安装版)

apache2.2安装和配置(安装版) 1.         Next→Iaccept,Next→在Network Domain下填入你的域名,在Server Name下填入你的服务器名称(也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址,选forAllUser,Next→选Custo...

中国移动DNS IP地址大全(32个省)

中国移动DNSIP地址,包括广东移动DNS,上海移动DNS,北京移动DNS,陕西移动DNS,江苏移动,山东移动DNS等共全国32个移动省份的DNS IP地址。 DNS 用户数 国家 省份 地区 运营商 用户数排名(省份) 用户数比例(省份) 112.4.0.55 1111900 中国 陕西 西安 移动 5 9.84% 221.131.143.6...

nginx反向代理、负载均衡以及分布式下的session保持

【前言】部署服务器用到了nginx,相比较于apache并发能力更强,优点也比其多得多。虽然我的项目可能用不到这么多性能,还是部署一个流行的服务器吧! 此篇博文主要学习nginx(ingine x)的反向代理、负载均衡原理,并介绍一下分布式下sesssion保持。(分布式和集群的区别?下面有) 一、正向代理和反向代理 1、正向代理的概念 正向代理,也就是传...

natapp自动获取免费的动态端口域名

前段时间,因为客户有个项目要求跨局域网进行远程控制桌面,想知道能不能实现。于是查询了许多资料,了解到需要有公网服务器作为中介才能够实现,但是公司又没有公网服务器,于是只有利用花生壳、natapp服务器实现内网穿透服务。但是这些都要收费,免费的域名和端口是随机变动的,对于测试相当不方便。于是就想设计一款工具能够自动获取natapp产生的动态域名与端口。申请n...

解决nginx配置负载均衡时invalid host in upstream报错

当前平台: windows nginx版本: 1.11.5 前言: 在配置负载均衡时,同时也需要设置反向代理,当修改了nginx.conf时,发现nginx服务无法开启。 1. 打开"nginx/logs/error.log",查看最新的错误日志, invalid host in upstream 红色: 后端服务器的主机无效,蓝色: 主机地址: htt...