《DNS稳定保障系列2--全局流量管理保障异地容灾》-阿里云开发者社区

开发者社区> 网络服务专家> 正文

《DNS稳定保障系列2--全局流量管理保障异地容灾》

简介: 背景 随着互联网的快速发展,为保证业务的持续高可用,同城多活、异地多活已成为各企业的不二之选。服务设置多中心,中心内部多地址负载,是多数企业采用的常规做法。这种情况下,如何对流量进行有效控制以达到最佳的用户访问效率变得尤为重要。
+关注继续查看

背景

随着互联网的快速发展,为保证业务的持续高可用,同城多活、异地多活已成为各企业的不二之选。服务设置多中心,中心内部多地址负载,是多数企业采用的常规做法。这种情况下,如何对流量进行有效控制以达到最佳的用户访问效率变得尤为重要。我们简单设想一下:
(1) 何以实现用户就近访问服务中心,减少网络耗时?
(2) 服务中心多个IP地址如何实现负载均摊或者权重轮询,保证整体负载的稳定性?
(3) 服务中心某IP地址故障后,如何快速发现并实现隔离?地址恢复后自动添加至解析列表,完全无需人为干预。
(4) 当某中心故障发生时,如何快速切流到其他中心,减少中断时间?
综合上述考虑,阿里云DNS基于DNS入口调度和分布式云监控,推出了全局流量管理(Global Traffic Manager,下文均简称为GTM),旨在帮助企业实现用户访问应用服务的就近接入、高并发负载均摊、应用服务的健康检查,并能够根据健康检查结果实现故障隔离或流量切换,方便企业灵活快速的构建同城多活和异地容灾服务。接下来我们将介绍如何通过GTM为异地容灾保驾护航。

原理

与传统DNS解析相比,GTM主要具备如下特点:
地址池:
传统DNS解析到单个地址,而GTM则引入地址池概念。如图1中的PoolA/B/C所示,一个地址池代表一组提供相同应用服务,即具备相同运营商或地区属性的IP地址或域名地址。通过地址池可对应用服务的IP地址进行统一管理。实现将终端用户访问解析到应用服务地址池,既可实现高负载情况下的流量均摊,又可实现自定义流量分配。同时当地址池整体不可用时,可以做备份切换。
健康检查:
依托于云监控强大的分布式监控功能,GTM新增了HealthCheck模块,如下图所示,从多个地区对地址池内的多个应用服务IP地址发起健康探测,目前已支持http/https、tcp、ping三种方式。当地址池中地址发生故障时HealthCheck模块会准确的检测到异常情况并与DNS交互,摘除故障地址。并当故障地址恢复时,自动恢复至解析返回列表。

98c2290220a47770876b9cfbf2e43233ebc9c10a


图1: GTM原理图


访问策略:
访问策略旨在解决根据请求来源和地址池健康情况进行地址池切换的问题。既能做到地址池纬度智能解析,又可实现故障自动切换功能。当地址池整体出现故障时,GTM会根据用户自定义策略进行地址池分钟级切换,并当地址池恢复时切回。

异地容灾

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

_2

图2: 异地容灾示意图

五步快速接入GTM,实现异地容灾:
(1)全局配置:
基础配置,主要配置负载均衡策略、全局TTL、报警通知组等相关信息。
(2)地址池配置:
新建地址池Singapore和CN-Hangzhou。每个地址池中均配置该区域下多个服务IP,以及最小可用地址数量。当地址池存活地址数小于该地址池数量时,则地址池视为不可用。此外,根据全局配置中负载均衡策略自动实现流量分配。
(3)开启健康检查
即对地址池中的IP地址配置健康检查,开启后可实现实时监测地址的可用性状态。根据地址的可用性进行故障自动隔离,并通知相应报警组。当地址恢复后,自动添加至解析列表。此外,当地址池整体出现问题时,触发默认地址池与备用地址池之间自动切换。能达到5分钟内,90%流量的切换速度。
(4)访问策略配置
根据用户的请求来源设置最终用户访问哪一个地址池。如图所示,海外用户希望访问Singapore地址池,则需设置相应访问策略,请求来源设置海外地区,默认地址池为Singapore,备用地址池设置CN-Hangzhou。则正常请求下,则海外用户访问Singapore中心,发生故障后会快速切换至CN-Hangzhou中心。
(5)CNAME接入配置
需要将用户访问的主域名CNAME至全局流量管理的实例域名,才能最终实现对应用服务进行容灾、智能接入。即将图中的www.cloud-example.com CNAME到我们提供的接入域名。

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

ccd8e72aeb2f307a5e0553d51edf18abf1f1f88f


图3: 故障切换流程图

容灾预案

此外,全局流量管理新增的容灾预案功能可以帮助用户日常做容灾演练,或在应用服务出现故障时实现快速切换流量。容灾预案支持批量地址池故障模拟及回滚,帮用户验证切换策略是否符合预期。
更多配置和操作指导可参照阿里云官网帮助文档:
•《高站点高可用》
•《运营商多链路容灾备份》
•《跨地域负载均衡》
•《多应用服务场景如何实现批量切换流量》

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云新品发布会周刊第43期 丨 战疫期间,钉钉如何抗住暴增的百倍流量?
新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多新品发布会!
270 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4502 0
ffmpeg的内部Video Buffer管理和传送机制
ffmpeg的内部Video Buffer管理和传送机制 本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册处理函数->帧级释放->帧级申请->清空。
853 0
DNN 360 Sidemenu某些Vertical Menu不显示管理菜单的解决办法
在使用http://www.dnn360.net/的Sidemenu时,有一些Vertical Menu无法显示Admin和Host下的子菜单(因为Admin和Host这两个Tab是设置为unable的。
592 0
阿里云服务网格多集群应用统一流量管理
服务网格多集群应用统一流量管理示例
213 0
《DNS稳定保障系列2--全局流量管理保障异地容灾》
背景 随着互联网的快速发展,为保证业务的持续高可用,同城多活、异地多活已成为各企业的不二之选。服务设置多中心,中心内部多地址负载,是多数企业采用的常规做法。这种情况下,如何对流量进行有效控制以达到最佳的用户访问效率变得尤为重要。
1094 0
能在电脑桌面提醒待办事项的日程安排管理软件
很多上班族越来越习惯找寻一款桌面日程安排软件来管理待办日程、提醒任务事项,常见的比如win7系统的便笺、win10系统的便利贴等。
3280 0
54
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载