《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交互,摘除故障地址。并当故障地址恢复时,自动恢复至解析返回列表。


图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),切换过程自动完成,并缩小时间至分钟级。从而有效保证异地容灾的切换效率。


图3: 故障切换流程图

容灾预案

此外,全局流量管理新增的容灾预案功能可以帮助用户日常做容灾演练,或在应用服务出现故障时实现快速切换流量。容灾预案支持批量地址池故障模拟及回滚,帮用户验证切换策略是否符合预期。

相关文章
|
10月前
|
消息中间件 NoSQL Java
拒绝频繁写库!SpringBoot 整合 BufferTrigger 实现高性能“流量聚合”
本文介绍如何用SpringBoot整合BufferTrigger实现高性能流量聚合,解决高并发下频繁写库的痛点。通过快手开源的BufferTrigger组件,可将大量数据库操作合并为批量执行,显著提升I/O效率,适用于计数、埋点、状态同步等场景,兼具高性能与低延迟。
803 145
|
6月前
|
人工智能 安全 NoSQL
API 攻击防护全攻略:从入门到“铜墙铁壁”
本文基于2025年攻防实战,系统构建API安全防护体系:从事前资产测绘、事中七层纵深防御(传输/身份/输入/流量/业务/数据层),到事后智能溯源响应,覆盖OWASP API Top 10风险,助力企业应对41%高发的API安全事件。(239字)
|
机器学习/深度学习 人工智能 算法
【深度学习之美】神经网络不胜语, M-P模型似可寻(入门系列之三)
“那些在个人设备里,谦谦卑卑地为我们哼着歌曲的数字仆人,总有一天会成为我们的霸主!”在“忍无可忍,无需再忍”这句俗语背后,也隐藏中神经网络常用的“激活函数”和“卷积”的概念。知其道,用其妙,THIS IS HOW!
35073 0
【深度学习之美】神经网络不胜语, M-P模型似可寻(入门系列之三)
|
缓存 Kubernetes Docker
GitLab Runner 全面解析:Kubernetes 环境下的应用
GitLab Runner 是 GitLab CI/CD 的核心组件,负责执行由 `.gitlab-ci.yml` 定义的任务。它支持多种执行方式(如 Shell、Docker、Kubernetes),可在不同环境中运行作业。本文详细介绍了 GitLab Runner 的基本概念、功能特点及使用方法,重点探讨了流水线缓存(以 Python 项目为例)和构建镜像的应用,特别是在 Kubernetes 环境中的配置与优化。通过合理配置缓存和镜像构建,能够显著提升 CI/CD 流水线的效率和可靠性,助力开发团队实现持续集成与交付的目标。
|
监控 Kubernetes 安全
Istio 服务网格技术详解与实践指南
本文档全面介绍 Istio 服务网格的核心概念、架构设计和实践应用。作为云原生领域的关键技术,Istio 提供了透明的、语言无关的服务间通信解决方案,实现了流量管理、安全加固和可观测性等功能。本文将深入探讨其数据平面与控制平面架构、Envoy 代理机制、流量治理策略以及与 Kubernetes 的深度集成,帮助开发者构建可靠、安全的分布式系统。
1120 5
|
人工智能 自然语言处理 搜索推荐
AI搜索的黑科技?DeepSearch 究竟“深”藏着什么秘密?
本文介绍 OpenSearch 凭借领先的AI搜索技术,应用DeepSearch 的设计框架能更有效解决复杂和多跳问题,优化用户体验。
1504 0
AI搜索的黑科技?DeepSearch 究竟“深”藏着什么秘密?
|
NoSQL 算法 测试技术
【MongoDB 专栏】MongoDB 的自动分片与手动分片
【5月更文挑战第11天】MongoDB的分片技术在处理大规模数据和高并发场景中至关重要,提供自动和手动两种方式。自动分片基于预定义规则,简化管理,适合大部分场景,但灵活性有限。手动分片则允许用户自定义策略,实现高效布局,适用于有特殊需求的应用,但配置复杂。选择分片方式需考虑业务需求、数据特点和技术能力。正确实施分片策略能构建高性能、可扩展的系统,支持企业业务发展。随着技术进步,未来的分片技术将更加智能和易用。
683 3
【MongoDB 专栏】MongoDB 的自动分片与手动分片
|
Java
"揭秘Java IO三大模式:BIO、NIO、AIO背后的秘密!为何AIO成为高并发时代的宠儿,你的选择对了吗?"
【8月更文挑战第19天】在Java的IO编程中,BIO、NIO与AIO代表了三种不同的IO处理机制。BIO采用同步阻塞模型,每个连接需单独线程处理,适用于连接少且稳定的场景。NIO引入了非阻塞性质,利用Channel、Buffer与Selector实现多路复用,提升了效率与吞吐量。AIO则是真正的异步IO,在JDK 7中引入,通过回调或Future机制在IO操作完成后通知应用,适合高并发场景。选择合适的模型对构建高效网络应用至关重要。
636 2
|
安全 项目管理 开发工具
一文知悉RISC-V可信执行环境:Keystone
一文知悉RISC-V可信执行环境:Keystone
1642 0
|
消息中间件 SQL 存储
对比7种分布式事务方案,还是偏爱阿里开源的Seata,真香!(原理+实战)
对比7种分布式事务方案,还是偏爱阿里开源的Seata,真香!(原理+实战)

相关产品

  • 云解析DNS