有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

概述

一般情况下,因 DNS 权威解析本身不具备容灾自动剔除能力,而通过 DNSPod 结合 IGTM 后则可以自动剔除故障节点,灾难情况下,一般需要经历“故障发现时间” 、 “故障恢复时间” 、 “扩散时间”。
1. 故障发现时间:通过 IGTM 各地域节点的自动化探测,最快可以实现15~30s发现故障IP;
2. 故障恢复时间:发现故障后,IGTM通过修改权威调度,最快可在1~5s内将故障IP自动剔除,切换至可用备用地址池;
3. 扩散时间:因为各地运营商下递归节点限制,递归节点的域名 TTL 不一致(一般10min 甚至更长时间),即便 IGTM 通过修改权威剔除了故障节点,用户终端的故障恢复时间依然缓慢,此时可以结合 DNSPod 与 HTTPDNS 的递归解析加速能力(也即“权威递归打通”能力),手机/APP终端用户可以通过 HTTPDNS 完成递归流程,获取到最新生效的解析结果,从而可以大大缩短扩散生效时间。

适用场景

1. 适用于应用服务部署是多机房、多地域、跨云接入的高可用场景。
2. 适用于故障期间,全网恢复时间长,受限于各地运营商场景。

方案架构

1. 首先,“DNSPod 权威解析” 和 “智能全局流量管理(IGTM)” 2款产品是通过 CNAME 域名来为用户提供相应的服务。
2. DNSPod 权威解析上可以为一个业务域名,配置多个解析记录,指向多个服务 IP,轻松实现流量调度。
3. IGTM 通过CNAME 域名的方式托管了您的业务域名,同时该服务从数十个节点对您的服务 IP 进行探测。
4. IGTM 发现了节点异常后,将通过调用 DNSPod 接口,将对应的解析记录从权威剔除,并将流量切换至备用地址上。
5. HTTPDNS 与 DNSPod 权威解析的底层数据有着直通加速能力,通过在 DNSPod 域名解析控制台上可以手动开通“递归解析加速”功能。
6. 手机客户端 APP 可以通过 SDK/API 接入 HTTPDNS 服务,绕开本地运营商 LocalDNS 递归解析的流程,直接从腾讯云的递归节点返回最优解析记录。




预期实现效果

中国大陆的用户流量调度到线下 IDC。
中国香港用户的访问流量调度到腾讯云中国香港。
境外访问流量调度到阿里云新加坡。
国内 IDC 故障场景下,流量调度至腾讯云。
境外阿里云故障场景下,流量调度至腾讯云。
中国香港腾讯云故障场景下,流量调度至阿里云。

方案优势

健康检查:实时探测,发现移动支持手动、自动两种切换模式,保障用户访问连续不间断。
高可用:支持实时监测,快速发现异常。发现故障,支持自动或手动将访问流量切换到其他 IP 上,从发现故障到完成故障切换最快仅需1分钟左右,能够保障用户访问连续性。
统一管理:支持统一管理多数据中心(不同运营商、不同地域、不同厂商的数据中心)的 IP 地址和流量。

操作步骤

前提条件




购买套餐并创建 IGTM 实例,将业务域名接入智能全局流量管理(IGTM)。
说明:
旗舰版发现故障和切换时间会更短,约1分钟左右;高级版约3分钟左右。如有高可用诉求的用户建议选择旗舰版。



准备资源:IDC 北京(192.0.2.0)、阿里云中国香港(192.0.2.1)、华为云新加坡(192.0.2.2)。

IGTM 操作指南

1. 在 DNSPod 控制台中,菜单选择流量管理 > 我的监控,单击资源管理创建资源组,对3个数据中心,分别创建3个资源组,并开启探测任务。






2. 新建访问策略:新建3条访问策略。
2.1 中国大陆用户访问策略,请求来源:选择默认、境内。



资源组配置:主力地址池选择“北京 IDC”;备用地址池选择“腾讯云香港”。



2.2 香港用户访问策略,请求来源:选择中国香港。
资源组配置:主力地址池选择“腾讯云香港”;备用地址池选择“阿里云新加坡”。
2.3 境外用户访问策略,请求来源:选择新加坡。
资源组配置:主力地址池选择“阿里云新加坡”;备用地址池选择“腾讯云香港”。
创建好的访问策略,如下图所示:



3. 线上流量接入:在域名的 DNS 管理平台(下图以 DNSPod 控制台为例),将域名通过 CNAME 记录的方式,指向 IGTM 提供的 CNAME 接入域名,或者您个人的自定义接入域名。






说明:
若资源组中有非腾讯云资源,建议选择自定义接入域名以免产生相关备案合规风险,影响您的业务正常使用。

HTTPDNS 通用操作指南

HTTPDNS 服务通过 HTTP/HTTPS 接口对外提供域名递归解析服务,服务接入直接使用 IP 地址,服务 IP 有多个, HTTP 请求方式查询入口为:119.29.29.98,HTTPS 请求方式查询入口为:119.29.29.99。




前期准备

使用请求接口 http://119.29.29.98/d?dn={cloud.tencent.com 加密后字符串}&id=xxx 时,需使用以下配置信息。请先前往移动解析 HTTPDNS 管理控制台 开发配置页 获取相关配置信息。



HTTPS 加密 Token:调⽤移动解析 HTTPDNS 的 HTTPS 解析接口 ttps://119.29.29.99,对 DNS 请求数据进⾏鉴权的 Token 信息。

添加域名操作步骤

2. 单击左侧菜单栏的域名管理,进入 “域名管理” 页面中,并单击添加主域名




APP 开发接入

Android 接入移动解析 HTTPDNS,请参见 Android SDK接入
iOS 接入移动解析 HTTPDNS,请参见 iOS SDK接入
HTTP/HTTPS 接入移动解析 HTTPDNS,参见 HTTP 请求方式查询HTTPS 请求方式查询

微信小程序接入HTTPDNS

微信小程序从基础库 2.19.2 开始支持 HttpDNS。接入 HttpDNS 可以有效避免小程序因 Local DNS 造成的域名劫持和跨网访问问题,更有效地保障您的小程序业务正常,避免移动互联网中的劫持、跨网域名解析错误等问题。
微信小程序接入移动解析HttpDNS,请参见 移动解析HttpDNS
微信小程序购买移动解析HttpDNS服务,请参见 购买HttpDNS
开发者调用 wx.request 时,可以开启移动解析 HttpDNS 服务。
代码示例