本文档介绍火山引擎云调度(GTM)的基本概念。
目标地址是指流量路由的目标地址。一个 目标地址 可以被多个 地址池 包含。
目标地址通常是 IDC 机房的 IP 地址或者域名。IP 地址的类型可以是 IPv4 或者 IPv6。域名通常代表一个资源地址,比如一个站点域名,一个负载均衡集群接入点或者一个 CDN 的接入 CNAME。
地址池包含一个或多个目标地址。一个 地址池 可以被多个 地址池集合 包含。
在智能路由策略的容量优先和负载反馈路由模式下,地址池有容量属性。
在基础路由策略或智能路由策略的容量优先和负载反馈路由模式中,地址池中的目标地址有权重或容量属性。您可以通过权重来设置地址池中各目标地址的用户请求数分配比例,实现目标地址级别的用户请求路由。比如您可以将相同运营商的目标地址放在一个地址池中进行管理,并为地址池添加备注以记录其业务属性。
地址池只用于目标地址的归类。云调度 GTM 不判定地址池的可用性。
地址池集合包含一个或多个地址池。一个 地址池集合 只能被一个 路由规则 包含。一个 路由规则 可以包含多个 地址池集合。
在一个路由规则中,只能有一个地址池集合生效。云调度 GTM 只会把用户请求路由到生效的地址池集合中的地址。
地址池集合有一个可用地址数的阈值。当可用的地址数量低于这个阈值,则该地址池集合被认为不可用。默认的阈值是 1,表示至少有一个地址可用时,该地址池集合就可用。
对于旗舰版的 GTM 实例,地址池集合中的地址池有权重属性。您可以通过权重来设置地址池集合中各地址池的流量分配,实现地址池级别的流量路由。
路由规则用于规定用户流量如何被路由到目标地址。
路由规则包括一条线路,与线路关联的一个或多个地址池集合,以及线路相关的权重配置。一条 路由规则 可以包含多个 地址池集合。
一条路由规则可以包含多个地址池集合,但只能有一个地址池集合生效。路由规则中的地址池集合具备优先级属性。
地址池集合按照优先级从小到大的顺序生效。如果当前生效的地址池集合不可用,且路由规则的 地址池集合生效模式 是 自动模式 时,云调度 GTM 会按照优先级自动切换到同一路由规则下的一个可用的地址池集合。
同一条线路可以包含在多个路由规则中。同时,路由规则有权重属性,对于同线路的不同路由规则,可以通过路由规则权重来分配用户请求。
路由的逻辑如下:
中国-电信-上海
,中国-电信
,默认
这三条线路的粒度从细到粗。在智能路由策略下,路由规则是由云调度 GTM 自动生成的。一般情况下,您无需手动添加。如果您需要自定义路由规则,也可以在智能路由策略下创建路由规则。您创建的路由规则的优先级高于自动生成的路由规则。
策略定义了用户流量的整体路由逻辑。在一个 GTM 实例中只能有一种策略生效。云调度 GTM 支持基础路由策略和智能路由策略:
云调度 GTM 提供的 CNAME 域名,用于把您的域名连接到云调度 GTM。
您在创建 GTM 实例时,如果 接入方式 是 CNAME接入,云调度 GTM 会在 调度域名 字段根据您输入的域名自动生成相应的调度域名。例如,如果您输入的域名是 www.example.com
,云调度 GTM 自动生成的调度域名是 www.example.com.gtm.volcdns.com
。您需要在您的域名解析服务商处添加一条 CNAME 记录,将您的域名指向 GTM 实例的调度域名。
如果您的域名的域名解析服务商是火山引擎云解析(DNS),您还可以把 接入方式 设置为 **域名接入。**此时,云调度 GTM 不会生成调度域名。而且,您无需再添加 CNAME 记录。云解析 DNS 会自动把您的域名连接到云调度 GTM。
GTM 实例包含对您的域名的流量路由配置。一个 GTM 实例对应一个域名。您需要为每个 GTM 实例配置一种策略(Policy)。
下图说明了一个 GTM 实例的层级结构。
您需要为智能路由策略配置流量目标。流量目标可以包括该 GTM 实例下的一个或多个地址池。
在智能路由策略下,GTM 实例按照流量目标自动生成路由规则。
线路表示用户请求的来源。线路可以是网络运营商、地理位置或 IP 范围。
如果您的域名可以解析到不同的服务 IP 地址,并且希望用户请求被路由到满足以下要求的 IP 地址以减少用户访问延时:
云调度 GTM 中有一条默认线路,该线路代表没有匹配到您指定的线路的用户请求。一个 GTM 实例必须包含一条线路设置为 默认线路 的路由规则。
您可以将一条线路分配给一个路由规则。每条线路代表路由规则下 IP 地址的网络运营商、地理位置或 IP 范围。
关于线路的详细信息,参见 火山引擎云解析(DNS)的智能解析功能。
在基础路由策略下,如果您开启了负载均衡,您可以为路由规则、地址池和目标地址设置权重。
云调度 GTM 先基于用户的地理位置和运营商,把用户流量路由到相同运营商下的最近 IDC 机房的接入线路,再基于负载均衡把用户流量按比例路由到多个 IDC 机房。
在智能路由策略的容量优先和负载反馈路由模式下,您可以为地址池或目标地址设置容量。
容量是一个正整数,用来表示地址池或目标地址对流量的承载能力。您可以根据机房的带宽、并发连接数等参数为机房设置一个合理的容量值。容量是一个相对值,因此您无需输入目标地址的真实数据,但您需要确保不同目标地址或地址池之间使用统一的容量单位。
在智能路由策略的负载反馈路由模式下,您可以上报地址池或目标地址的实时负载和目标负载。
负载是一个正整数,用来表示地址池或目标地址实际承受的流量。您可以根据机房的带宽、并发连接数等参数为机房设置一个合理的负载值。负载是一个相对值,因此您无需输入地址池或目标地址的真实带宽或并发连接数等数据,但您需要确保不同目标地址或地址池之间使用统一的负载单位。
容量用来表示地址池或目标地址的流量承受能力。因此,负载不能超过容量。
负载和容量必须使用相同的估算标准和单位。例如,如果容量是根据机房的带宽估算的,负载也必须是根据机房的带宽估算的。
健康检查探测点是分布在全球各地域的节点,用来向目标地址发起健康检查请求。
云调度 GTM 会通过一个或多个健康检查探测点向目标地址发起基于多种协议的健康检查。根据健康检查的结果,目标地址会被判定为正常或故障。
在每个健康检查任务中,一个健康检查探测点向一个指定的目标地址按照生效的健康检查配置定时发起健康检查,并返回健康检查结果。
云调度 GTM 把目标地址和健康检查参数相同的健康检查任务包含在一个 健康检查任务集 中。在一个健康检查任务集中,完全相同的健康检查任务会被去重。
云调度 GTM 的健康检查功能也会影响流量调度的结果,目的是进行故障转移。故障转移逻辑如下: