云调度 GTM 通过权威 DNS 服务器提供流量路由服务。来自不同线路(例如网络运营商、不同地理位置或 IP 地址段)的用户请求可以被精准路由到指定的服务地址。但是,在以下场景下,基于线路的流量路由功能无法满足您的需求。
vehicle.example.com
。无论该汽车的当前位置在哪里,对于该汽车访问 vehicle.example.com
时发起的 DNS 查询请求,云调度 GTM 都会返回位于上海的服务器的 IP 地址。service.example.com
。您希望发布一个新的服务。新服务的 IP 地址是 1.1.1.1
。在全量发布前,您希望先对约 10% 的设备进行灰度测试。对于这 10% 的设备访问 service.example.com
时发起的 DNS 查询请求,云调度 GTM 会返回 1.1.1.1
。通过软件定义解析 AnyMatch 功能,您可以为云调度 GTM 的路由规则配置自定义标识,从而实现以上场景。在车联网场景下,自定义标识可以是汽车的 VIN (Vehicle Identification Number);在设备端灰度测试场景下,自定义标识可以是设备的 ID。
软件定义解析 AnyMatch 功能是火山引擎移动解析(HTTPDNS)的递归 DNS 服务器结合云调度 GTM 的权威 DNS 服务器实现的。参见 工作原理。
您在云调度 GTM 中为策略的路由规则设置自定义标识匹配规则。云调度 GTM 会把策略下发到移动解析 HTTPDNS 的递归 DNS 服务器。然后,客户端通过 SDK 或 HTTP API 向移动解析 HTTPDNS 的递归 DNS 服务器发送 Header 中带有自定义标识参数的 HTTPDNS 请求。移动解析 HTTPDNS 的递归 DNS 服务器收到 HTTPDNS 请求后,会根据路由规则、HTTPDNS 请求所包含的线路信息和自定义标识返回符合业务需求的解析结果。
您在云调度 GTM 中可以结合使用自定义解析 AnyMatch、智能解析、负载均衡、健康检查和容灾切换功能。虽然您也可以在移动解析 HTTPDNS 中使用自定义解析 AnyMatch,但是您无法在移动解析 HTTPDNS 中使用健康检查和容灾切换功能。