核心功能
应用场景
应用服务主备IP容灾
例如应用服务有两个IP地址 1.1.1.1、2.2.2.2 。正常情况下,用户访问IP地址 1.1.1.1、当IP地址 1.1.1.1 故障后,希望将用户访问流量切换到IP地址 2.2.2.2。
使用 GTM 时,只需要建立两个地址池 Pool A 和 Pool B ,将IP地址 1.1.1.1、2.2.2.2 分别添加进两个地址池,并配置健康检查。在访问策略配置中,设置默认地址池为 Pool A、备用地址池为 Pool B ,即可以实现应用服务主备IP容灾切换。
应用服务多个IP多活
例如应用服务有三个IP地址 1.1.1.1、2.2.2.2、3.3.3.3,三个IP地址同时向用户服务。如想要实现3个IP地址正常工作时,DNS解析同时解析出3个IP地址。当3个IP地址中某一个地址故障时,将故障的地址从DNS解析列表中暂时删除,不向用户返回,当故障IP地址恢复后,从新添加回DNS解析列表。
使用 GTM 时,只需要建立一个地址池Pool A, 然后把 1.1.1.1、2.2.2.2、3.3.3.3 三个地址添加进地址池,并配置上健康检查,即可实现多个IP多活。
高并发应用服务负载分摊
企业在线上大促活动类似双十一等情况下,都会对业务做临时的扩容,以应对突然增大数倍的用户访问请求。一般来说,会在同区域购买多个SLB实例,期望达到使用不同IP地址进行访问流量卸载的效果。
使用 GTM 时,只需在全局配置中的均衡策略选择 负载均摊 的方式,由每个IP地址平均承担用户的访问流量,可以实现多个SLB的负载均衡效果。也可以选择 加权轮询 的方式,为每个IP地址配置不同的权重,使个IP地址承担不同比例的访问流量。
不同区域访问加速
大型企业或跨国企业,一般需要面向全国区域或者全球区域提供网络服务。由于不同地区网络情况不同,网络访问一般会受到距离等因素的影响,因此,企业会选择在几个大区的核心位置建立服务接入点,使不同区域的用户访问各自区域的核心接入点,从而获得最佳的访问体验。
使用 GTM 时,可以通过DNS的智能解析功能,向不同DNS查询来源的用户返回一组特殊设置的IP地址池,用以实现不同网络区域的用户就近接入,提高应用服务访问速度。
原理与架构
首先,全局流量管理(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.1.1、2.2.2.2、3.3.3.3,并开启健康检查。
③ 将网站服务 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 B , Pool 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。
因此,终端用户访问时可以通过全局流量管理系统自动的获取最佳的应用服务,并保障用户访问的连续不中断。
常见问题
全局流量管理(GTM)和负载均衡(SLB)有什么区别?
答:首先 GTM 是通过DNS将域名解析到多个IP地址,不同用户访问不同的IP地址,来实现应用服务流量的分配。同时通过健康检查动态更新DNS解析IP列表,实现故障隔离以及故障切换。最终用户的访问直接连接服务的IP地址,并不通过GTM。而 SLB 是通过代理用户访问请求的形式将用户访问请求实时分发到不同的服务器,最终用户的访问流量必须要经过SLB。
一般来说,相同Region使用SLB进行负载均衡,不同region的多个SLB地址时,则可以使用GTM进行负载均衡 。
两者的对比如下表所示:
对比项 | 网络层 | 后端地址 | 加权轮询 | 跨Region难度 | 故障隔离时间 | 回话保持 |
---|---|---|---|---|---|---|
全局流量管理 | 3层 | 域名、IP | 支持 | 简单 | 分钟级 | 不支持 |
负载均衡SLB | 4层、7层 | IP | 支持 | 困难 | 秒级 | 支持 |
全局流量管理(GTM)、云解析DNS、全局负载均衡(GSLB)有什么区别?
答:全局流量管理的底层服务是“云解析DNS”和“云监控”。GTM是集成了DNS的智能解析功能、云监控的应用服务监控功能,为客户输出不同网络或地区用户访问实现就近接入、应用服务运行状态的健康检查、故障自动切换等能力。GTM 是现有云解析DNS中全局负载均衡(GSLB)的升级和替代产品,GTM比GSLB支持更多的监控方式、更高级的IP地址管理功能、更稳定快速的监控反馈体验。
所以如果您正在使用云解析DNS的 GSLB 功能,请尽快迁移到 GTM。云解析中的网站监控和 GSLB 将会逐步进行下线,完全停止服务前会至少提前一个月进行通知。
详细对比见下表:
对比项 | 服务接入 | 健康检查 | 计量纬度 | 跨账号使用 | 故障切换时间 | 多线路接入 | 链路互备 |
---|---|---|---|---|---|---|---|
GTM | CNAME接入 | ping、tcp、http(s) | 按照实例收费 | 不受账号限制 | 分钟级,不受子域名的TTL限制 | 电信、联通、移动、鹏博士 | 故障自动切换,可控 |
GSLB | 子域名开启 | 不支持,需要结合网站监控 | 需要另行购买监控服务 | 必须在域名账号下使用 | 受子域名的TTL限制 | 不支持,需要结合云解析的线路配置 | 随机选择正常链路,不可控 |
全局流量管理(GTM)的CNAME接入域名是否能直接通过URL访问?
答:不可以使用 GTM 的 cname接入域名 直接作为用户最终访问的url,GTM 提供的cname接入域名和cdn等产品提供的cname接入域名一样,只能用于服务接入映射,不能用来作为最终的用户访问URL。
全局流量管理(GTM)如何判断应用服务是否故障?
答:GTM 集成了应用服务监控,在全球范围内提供14个监控节点,可以采用多个监控点组合报警的形式作为服务整体异常判断条件。且客户可以选择使用ping、tcp、http三种方式对应用服务进行监控,发现应用服务是否故障。
- ping监控:可以根据丢包率的大小、响应时间的长短判断应用服务是否故障。
- tcp监控:可以根据tcp端口的响应时间来判断应用服务是否故障。
- http(s)监控:可以根据http(s)响应时间、返回码信息来判断应用服务是否故障。
全局流量管理(GTM)故障切换的生效时间是多少?
答:经过测试团队对GTM多次测试验证,当应用服务发生故障时,GTM能在 5分钟内 将应用服务的90%左右的流量切换成功。GTM的故障切换生效时间 = 故障发现时间 + DNS切换同步时间 。
- 故障发现时间:目前默认的健康检查配置可以在故障的3分钟左右准确发现故障;
- DNS切换同步时间:目前 GTM 的cname接入域名TTL设置为60秒,理论上域名切换后60秒内可以生效,但实际情况取决于全国各地运营商的缓存设置时间。
全局流量管理(GTM)的地址池是否可以使用域名?
答: 可以。GTM的地址池内可以填写IP或者域名,但是 IP地址和域名不能同时存在于一个地址池内。当地址池内填写的地址是多个域名时,地址池默认对多个域名进行轮询负载均衡。
全局流量管理(GTM)是否能实现智能DNS接入?
答: 可以。GTM集成了智能DNS解析,目前可以使用GTM对中国的4大运营商、7大区域、海外6大洲进行智能DNS解析,可以实现来源于不同网络或区域的用户访问者实现就近接入,提高访问速度。
全局流量管理(GTM)支持“会话保持”么?
答: 不支持。GTM是属于DNS级别的管理系统。 它使用DNS响应将客户端路由到相应的应用服务地址。 客户端直接连接到应用服务IP地址,而不是通过GTM来进行连接。 因此,GTM看不到客户端与服务器之间的HTTP流量,所以无法实现“会话保持”功能。
一个域名可以同时使用全局流量管理(GTM)和CDN吗?
答:可以。 CDN可以放在GTM前面使用。
全局流量管理(GTM)的地址池中可以应用添加CDN服务商提供的CNAME接入域名吗?
答:可以添加,但是无法达到健康检查和故障转移的最佳效果,一般CDN的节点非常多,而GTM的健康检查监测节点有限,所以无法获取准确的健康检查状态并进行切换,请尽量避免此使用方法。