在火山引擎内容分发网络(CDN)中,您可以将源站配置为 火山引擎云调度(GTM)的调度域名,实现源站间高度定制化的负载均衡、健康检查及容灾切换等策略。GTM 是一款基于 DNS 解析对请求进行调度的云服务。
说明
关于 CDN 在源站故障发生时的回源重试逻辑,参见 回源重试逻辑。
如果您的源站包含私有存储桶,则 GTM 不适用该场景。
在下图中,您将 CDN 中的源站配置迁移到了 GTM 中,实现了回源请求的一个基本负载均衡配置。GTM 根据源站的权重,将被选中的源站 IP 地址返回给 CDN。
这是一个 GTM 的基本配置。在 使用场景 中,我们会基于 GTM 的特性展示更多较复杂的配置。
关于 CDN 和 GTM 提供的相关能力对比,参见下表。
CDN | GTM | |
---|---|---|
健康检查 |
|
|
源站地址数量 | 默认情况下,CDN 中配置的主源站加上备源站的总数不能超过 50 个。 |
|
负载均衡 | 基于源站级别的权重提供负载均衡。 | 除了源站级别的权重,GTM 可以对源站进行分组,提供源站组级别的权重。 |
容灾切换 | 提供一组主源站,一组备源站,具有一定的回源重试机制,保障回源高可用。
| 提供复杂的容灾配置。
|
您有多个源站,其中 3 个在上海,2 个在杭州。您需要上海的源站承接 70% 的请求,杭州的源站承接 30% 的请求。对于在上海的源站,您需要进一步分配这 3 个源站承接的请求比例,分别是50%,40%,10%。对于在杭州的源站,您需要这 2 个源站承接的请求比例分别是 50%,50%。
在 GTM 中,您做以下配置:
创建一个地址池,名称为 "上海地址池"。该地址池包含上海的 3 个源站。设置这 3 个源站的权重分别为 35,28,7。
创建一个地址池,名称为 "杭州地址池"。该地址池包含杭州的 2 个源站。设置这 2 个源站的权重都为 15。
创建一个地址池集合,名称为 "江浙沪地址池集合",包含这两个地址池。
说明
"上海地址池" 的总权重为 35+28+7=70。"杭州地址池" 的总权重为 15+15=30。因此,两个地址池承接的请求比例为 7:3。同时,在 "上海地址池" 中,三个源站承接的请求比例分别为 50%,40%,10%。
随着业务的发展,您在北京和天津也部署了源站,作为备用。北京和天津各有 2 个源站。每个源站承接相同数量的请求。您在 GTM 中创建了一个路由规则。在该路由规则中,您指定如果上海和杭州的所有源站都无法访问,GTM 自动将用户请求引导到北京或天津的源站。
说明
在 GTM 中,您可以为地址池设置最少可用地址数量。例如,您对上海地址池设置最少可用地址数量 3。在这个情况下,如果地址池中的可用地址数量下降到 3 以下,GTM 判定该地址池不可用。
在 GTM 中,您做以下配置:
分别创建 "北京地址池" 和 "天津地址池"。设置每个源站的权重为 1。
创建一个地址池集合,名称为 "华北地址池集合",包含这两个地址池。
创建一条路由规则,包含这两个地址池集合。修改 "江浙沪地址池集合" 的名称为 "华东地址池集合"。设置 "华东地址池集合" 的优先级最高,实现地址池集合级别的容灾切换。