You need to enable JavaScript to run this app.
导航
基本概念
最近更新时间:2024.10.28 16:00:46首次发布时间:2022.04.25 16:01:23

本文档介绍火山引擎云调度(GTM)的基本概念。

地址(Address)

地址是指流量路由的目标地址。一个 地址 可以被多个 地址池 包含。

地址可以是 IP 地址或者域名。IP 地址的类型可以是 IPv4 或者 IPv6。域名通常代表一个资源地址,比如一个站点域名,一个负载均衡集群接入点或者一个 CDN 的接入 CNAME。

地址池(Pool)

地址池包含一个或多个地址。一个 地址池 可以被多个 地址池集合 包含。

在智能路由策略的容量优先和负载反馈路由模式下,地址池有容量属性。

在基础路由策略或智能路由策略的容量优先和负载反馈路由模式中,地址池中的地址有权重或容量属性。您可以通过权重来设置地址池中各地址的用户请求数分配比例,实现地址级别的用户请求路由。比如您可以将相同运营商的地址放在一个地址池中进行管理,并为地址池添加备注以记录其业务属性。

地址池只用于地址的归类。云调度 GTM 不判定地址池的可用性。

地址池集合(Pool Set)

地址池集合包含一个或多个地址池。一个 地址池集合 只能被一个 路由规则 包含。一个 路由规则 可以包含多个 地址池集合

在一个路由规则中,只能有一个地址池集合生效。云调度 GTM 只会把用户请求路由到生效的地址池集合中的地址。

地址池集合有一个可用地址数的阈值。当可用的地址数量低于这个阈值,则该地址池集合被认为不可用。默认的阈值是 1,表示至少有一个地址可用时,该地址池集合就可用。

对于旗舰版的 GTM 实例,地址池集合中的地址池有权重属性。您可以通过权重来设置地址池集合中各地址池的流量分配,实现地址池级别的流量路由。

路由规则(Rule)

路由规则用于规定用户流量如何被路由到地址。
路由规则包括一条线路,与线路关联的一个或多个地址池集合,以及线路相关的权重配置。一条 路由规则 可以包含多个 地址池集合

一条路由规则可以包含多个地址池集合,但只能有一个地址池集合生效。路由规则中的地址池集合具备优先级属性。

地址池集合按照优先级从小到大的顺序生效。如果当前生效的地址池集合不可用,且路由规则的 地址池集合生效模式自动模式 时,云调度 GTM 会按照优先级自动切换到同一路由规则下的一个可用的地址池集合。

同一条线路可以包含在多个路由规则中。同时,路由规则有权重属性,对于同线路的不同路由规则,可以通过路由规则权重来分配用户请求。

路由的逻辑如下:

  • 对于多条线路,粒度更细的线路优先级更高。例如,中国-电信-上海中国-电信默认 这三条线路的粒度从细到粗。
  • 对于某条线路,按照包含该线路的每条路由规则的权重进行路由。
  • 对于某个路由规则,按照该路由规则内地址的权重进行路由。

在智能路由策略下,路由规则是由云调度 GTM 自动生成的。一般情况下,您无需手动添加。如果您需要自定义路由规则,也可以在智能路由策略下创建路由规则。您创建的路由规则的优先级高于自动生成的路由规则。

策略(Policy)

策略定义了用户流量的整体路由逻辑。在一个 GTM 实例中只能有一种策略生效。云调度 GTM 支持基础路由策略和智能路由策略:

  • 基础路由:基于地理位置的路由策略。您可以为基础路由策略开启或关闭基于权重的负载均衡功能。
  • 智能路由:基于时延、容量和负载反馈的路由策略。智能路由策略不支持基于权重的负载均衡功能。您可以把智能路由策略设置为以下任意一个路由模式。仅旗舰版支持智能路由。参见 功能版本规格
    • 性能优先:接收到用户发送的 DNS 查询请求时,云调度 GTM 会返回一个用户访问延时最低的地址。
    • 容量优先:接收到用户发送的 DNS 查询请求时,云调度 GTM 会在满足所有地址的容量限制的前提下,返回一个用户访问延时最低的地址。
    • 负载反馈:在容量优先模式的前提下,云调度 GTM 会按照您反馈的当前负载值、目标负载值和容量,对每个地址的用户请求数比例进行动态调整。

调度域名(Routing Domain)

云调度 GTM 提供的 CNAME 域名,用于把您的域名连接到云调度 GTM。
Image
您在创建 GTM 实例时,如果 接入方式CNAME接入,云调度 GTM 会在 调度域名 字段根据您输入的域名自动生成相应的调度域名。例如,如果您输入的域名是 www.example.com,云调度 GTM 自动生成的调度域名是 www.example.com.gtm.volcdns.com。您需要在您的域名解析服务商处添加一条 CNAME 记录,将您的域名指向 GTM 实例的调度域名。

如果您的域名的域名解析服务商是火山引擎云解析(DNS),您还可以把 接入方式 设置为 域名接入。此时,云调度 GTM 不会生成调度域名。而且,您无需再添加 CNAME 记录。云解析 DNS 会自动把您的域名连接到云调度 GTM。

TTL(Time-to-Live)

TTL 是解析记录的一个属性,表示您希望解析记录在递归 DNS 服务器的缓存中保存的时长。如果保存的时长超过了 TTL,该记录会被从缓存中丢弃。

TTL 的值越大,解析记录在递归 DNS 服务器的缓存中保存的时长越长。当解析记录发生变更后,生效所需的时间就越长。

在云调度 GTM 中,TTL 表示调度域名或域名的解析记录在递归 DNS 服务器的缓存中保存的时长。

GTM 实例(GTM Instance)

GTM 实例包含对您的域名的流量路由配置。一个 GTM 实例对应一个域名。您需要为每个 GTM 实例配置一种策略(Policy)。

下图说明了一个 GTM 实例的层级结构。

  • 每个 GTM 实例包含一个生效的策略。
  • 每个策略包含一个或多条路由规则(Rule)。
  • 每条路由规则包含一个或多个地址池集合。
  • 每个地址池集合包含一个或多个地址池。一个地址池可以被多个地址池集合包含。
  • 每个地址池包含一个或多个地址。一个地址可以被多个地址池包含。

Image

流量目标(Traffic Target)

您需要为智能路由策略配置流量目标。流量目标可以包括该 GTM 实例下的一个或多个地址池。

在智能路由策略下,GTM 实例按照流量目标自动生成路由规则。

Image

线路(Line)

线路表示用户请求的来源。线路可以是网络运营商、地理位置或 IP 范围。

如果您的域名可以解析到不同的服务 IP 地址,并且希望用户请求被路由到满足以下要求的 IP 地址以减少用户访问延时:

  • 用户 IP 地址的网络运营商与服务 IP 地址的网络运营商相同。
  • 用户 IP 地址的地理位置尽可能接近服务 IP 地址的地理位置。

云调度 GTM 中有一条默认线路,该线路代表没有匹配到您指定的线路的用户请求。一个 GTM 实例必须包含一条线路设置为 默认线路 的路由规则。

您可以将一条线路分配给一个路由规则。每条线路代表路由规则下 IP 地址的网络运营商、地理位置或 IP 范围。

关于线路的详细信息,参见 火山引擎云解析(DNS)的智能解析功能

权重(Weight)

在基础路由策略下,如果您开启了负载均衡,您可以为路由规则、地址池和地址设置权重。

云调度 GTM 先基于用户的地理位置和运营商,把用户流量路由到相同运营商下的最近 IDC 机房的接入线路,再基于负载均衡把用户流量按比例路由到多个 IDC 机房。

容量(Capacity)

在智能路由策略的容量优先和负载反馈路由模式下,您可以为地址池或地址设置容量。

容量是一个正整数,用来表示地址池或地址对用户流量的承载能力。您可以根据机房的带宽、并发连接数等参数为机房设置一个合理的容量值。容量是一个相对值,因此您无需输入地址的真实数据,但您需要确保不同地址或地址池之间使用统一的容量单位。

负载(Load)

在智能路由策略的负载反馈路由模式下,您可以上报地址池或地址的实时负载和目标负载。

负载是一个正整数,用来表示地址池或地址实际接收的用户流量。您可以根据机房的带宽、并发连接数等参数为机房设置一个合理的负载值。负载是一个相对值,因此您无需输入地址池或地址的真实带宽或并发连接数等数据,但您需要确保不同地址或地址池之间使用统一的负载单位。

容量用来表示地址池或地址的用户流量承受能力。因此,负载不能超过容量。

负载和容量必须使用相同的估算标准和单位。例如,如果容量是根据机房的带宽估算的,负载也必须是根据机房的带宽估算的。

健康检查探测点(Health Probe)

健康检查探测点是分布在全球各地域的节点,用来向地址发起健康检查请求。

健康检查(Health Check)

云调度 GTM 会通过一个或多个健康检查探测点向地址发起基于多种协议的健康检查。根据健康检查的结果,地址会被判定为正常或故障。

健康检查任务(Health Check Task)

在每个健康检查任务中,一个健康检查探测点向一个指定的地址按照生效的健康检查配置定时发起健康检查,并返回健康检查结果。

健康检查任务集(Health Check Task Set)

云调度 GTM 把地址和健康检查参数相同的健康检查任务包含在一个 健康检查任务集 中。在一个健康检查任务集中,完全相同的健康检查任务会被去重。

故障转移(Failover)

云调度 GTM 的健康检查功能也会影响流量路由的结果,目的是进行故障转移。故障转移逻辑如下:

  • 当某个地址不可用时,云调度 GTM 不再将流量路由到该地址。在后续的健康检查中,如果该地址恢复正常,云调度 GTM 会自动取消屏蔽。
  • 如果当前生效的地址池集合不可用,且路由规则的 地址池集合生效模式自动模式 时,云调度 GTM 会按照 地址池集合 的优先级将流量转移到同一 路由规则 中的另一个可用的 地址池集合

软件定义解析(AnyMatch)

软件定义解析 AnyMatch 功能是火山引擎移动解析(HTTPDNS)的递归 DNS 服务器结合云调度 GTM 的权威 DNS 服务器实现的。通过软件定义解析 AnyMatch 功能,您可以为云调度 GTM 的路由规则配置自定义标识。

您在云调度 GTM 中为策略的路由规则设置自定义标识匹配规则。云调度 GTM 会把策略下发到移动解析 HTTPDNS 的递归 DNS 服务器。然后,客户端通过 SDK 或 HTTP API 向移动解析 HTTPDNS 的递归 DNS 服务器发送 Header 中带有自定义标识参数的 HTTPDNS 请求。移动解析 HTTPDNS 的递归 DNS 服务器收到 HTTPDNS 请求后,会根据路由规则、HTTPDNS 请求所包含的客户端信息和自定义标识返回符合业务需求的解析结果。