产品原理

更新时间:

首先 全局流量管理(GTM)是基于网络/区域的智能解析,以及ping、tcp、http(s)三种方式的健康检查,最终实现灵活快速的构建同城多活和异地容灾服务。

其次,GTM可以同时支持阿里云和非阿里云的IP地址使用,方便用户快速构建混合云应用。

同时,GTM是属于DNS级别的服务,使用DNS向用户返回特定的服务IP地址,然后客户端用户直接连接到服务IP地址。所以GTM本身并不是代理或网关设备,也不是应用接入服务,因此看不到客户端用户与应用服务之间网络流量。

最后 当您开通GTM产品实例后,系统会自动分配一个CNAME接入域名,所以需要将用户访问的主域名CNAME至全局流量管理的实例域名,才能最终实现对应用服务进行容灾、智能接入。详细操作方法您可以参阅 快速入门 操作文档。

产品原理

例如网站服务是 www.example.com

① 开通 GTM 实例后 , 系统自动分配了一个CNAME接入域名 gtm12345678.gtm-000.com

② 为GTM 实例添加3个服务器IP地址 1.1.XX.XX、2.2.XX.XX、3.3.XX.XX,并开启健康检查。

③ 将网站服务 www.example.com CNAME指向 gtm12345678.gtm-000.com

原理流程图解

原理图解

原理流程说明

  • 终端向本地递归DNS系统查询应用服务域名 www.example.com

  • 假设本地递归DNS系统没有 www.example.com 的缓存,那么本地递归DNS会向DNS根服务器发送此域名的DNS查询请求。同时DNS根服务器,会根据查询域名的后缀,向本地递归DNS服务器响应 .com 所在的DNS服务器。

  • 本地递归DNS收到DNS根响应的 .com DNS服务器地址后,会向 .com DNS服务器发起 www.example.com 的域名查询请求。同时 .com DNS服务器收到请求,会向本地递归DNS服务器响应 example.com 所在的DNS服务器,如果域名使用了云解析服务,那么这个DNS服务器就是云解析的DNS服务器。

  • 本地递归DNS收到 .com DNS服务器响应的云解析DNS服务器地址后,再次向云解析DNS服务器发起 www.example.com 查询请求,同时云解析DNS服务器收到DNS查询请求后,在自己的数据库中发现www.example.com 通过CNAME指向了域名 gtm12345678.gtm-000.com,因此云解析DNS服务器会向本地递归DNS响应 gtm12345678.gtm-000.com

  • 本地递归DNS收到云解析DNS响应的 gtm12345678.gtm-000.com 域名后,会再次向全局流量管理的DNS服务器发起 gtm12345678.gtm-000.com 查询,同时全局流量管理在收到请求后,会根据运行机制和预配置策略向本地递归DNS响应最终应用服务的IP地址。

  • 本地递归DNS服务器将最后一次查询获得的IP地址作为 www.example.com 的最终地址,返回给终端用户,同时缓存在本地,方便下次用户查询可以直接返回结果。

  • 终端用户收到本地递归DNS服务器响应的IP地址后,直接向应用服务发起网络连接,开始进行业务通信。

产品架构

产品架构图解

产品架构

产品架构说明

请根据产品架构图来看下文的说明

  • GTM 系统中的 DNS模块,是实现将终端用户访问解析到应用服务的 Pool A 和 Pool B 两个地址池。其中,中国大陆区域用户访问 Pool A、境外区域用户访问 Pool BPool C 作为备用地址池。

  • GTM 系统中的 HeathCheck模块,会从多个地区对地址池内的多个应用服务IP地址发起健康探测,健康探测可以使用 ping、tcp、http(s) 三种方式。

  • Pool A 中,有一个应用服务地址出现故障时,HeathCheck模块 会准确的检测到异常情况,同时 HeathCheck模块 会和 DNS模块 进行交互,最终是通过 DNS模块 将异常IP地址从向用户返回的应用服务IP地址列表中暂时删除;如果HeathCheck模块检测到应用服务的地址恢复正常,则 DNS模块 会将此IP恢复至应用服务的IP列表中并返回给用户。

  • 假如 Pool A、Pool B 在出现了地址池整体故障的情况,GTM 则会根据预先配置的备用地址池和生效地址池切换策略,将用户访问切换到备用的地址池 Pool C

因此,终端用户访问时可以通过全局流量管理系统自动的获取最佳的应用服务,并保障用户访问的连续不中断。