Adobe-managed 主机概述

Adobe-managed 主机是您在 Adobe Experience Platform Launch 中部署库版本时一项默认的主机设置。当您通过 Platform Launch 用户界面创建新属性时,您会获得一个默认的 Adobe-managed 主机。

凭借 Adobe-managed 主机,可将库版本交付至已与 Adobe 签约的第三方内容分发网络 (CDN)。由于这些 CDN 独立于 Adobe 运行,因此即使 Platform Launch 正在进行维护或由于其他原因而停止运行,您的部署代码仍可以在站点和应用程序中继续正常运转。Adobe-managed 主机的嵌入代码引用了 CDN 上的主要库文件,因此客户端设备可在运行时检索文件。

本文档概述了 Platform Launch 中的 Adobe-managed 主机,并提供了有关如何在 UI 中创建新的 Adobe-managed 主机的步骤。

Akamai

目前,Akamai 是 Adobe 的主要 CDN 提供商。Akamai 构建的可靠 CDN 旨在为全球大容量 Web 访客受众提供内容。CDN 运行的冗余网络由负载均衡、地理优化的节点构成,可以尽快为遍布全球的访客提供内容。

具体而言,Akamai 在 87 个国家/地区运行着 137,000 多台服务器,涉及超过 1,150 个网络。在冗余方面,CDN 不仅可以从一台服务器路由到另一台服务器,而且还可以根据需要从一个服务器节点路由到另一个服务器节点。换句话说,每个节点都由多台服务器组成,因此一台服务器的停机绝不会导致问题,因为同一节点上的其他服务器可以接管这台停机的服务器。

如果整个节点陷入瘫痪,Akamai 则会通过具有相同缓存内容的次近节点来提供内容。节点是根据访客位置、流量负载和其他因素动态选取的,因此,始终能够通过最适合每个访客的当地节点提供内容。

托管在 Akamai 上的文件将使用域 assets.adobedtm.com。判断能否安全引用域(http://https://)时,取决于您在嵌入代码 <script> 中调用上述域的方式。

警告

如果您没有将库托管在 Akamai 网络上,那么 Platform Launch 则无法阻止因此而引发的任何错误。

库版本缓存

使用 Adobe-managed 主机时,您的库版本会缓存到以下两个位置:

边缘缓存

CDN 的主要目标在于将内容智能分发到地理位置更接近于最终用户的服务器,以便客户端设备能够更快地检索内容。CDN 通过以下方法来实现上述目标:生成的内容副本适用于遍布在世界各地的服务器(“边缘节点”)。

当您的库版本部署到 Adobe-managed 主机后,CDN 会把该版本分发到多台中央服务器(“原点”),这些服务器随后会将库版本的副本发送至全球大量不同的边缘节点,以此来进行缓存。最终,客户端设备会获得存储在这些边缘节点上的库缓存版本。

注意

对于 Adobe-managed 主机而言,发布到任何新环境的首个库,最多可能需要五分钟即可传送到遍布全球的 CDN。

当边缘节点收到针对特定文件(如库版本)的请求时,该节点将首先检查此文件上的生存时间 (TTL) 值。如果 TTL 未过期,边缘节点则会提供该文件的缓存版本。如果 TTL 已过期,边缘节点则会请求最近的原点提供新副本,然后根据新的 TTL 来缓存刷新后的副本。

注意

除边缘节点缓存之外,还可能存在执行自身缓存的中间网络(例如,公司网络或移动网络)。如果您的版本未按预期进行缓存,根本原因可能在于这些中间网络。

边缘缓存失效

当您上传新的库版本后,Platform Launch 会让所有适用的边缘节点上的缓存失效,这意味着每个节点都会认为其缓存的版本无效,即使近期检索到了新副本。在某个边缘节点下次收到针对该文件的请求时,这个节点会再次从原点检索新副本。

由于 Akamai 设置了多台原点服务器,它们彼此之间会复制文件,并且由于无法了解最先收到文件请求的原点,因此这些节点请求可能会命中一个并不包含最新版本的原点服务器,然后再次缓存较旧的版本。为防止出现上述情况,Platform Launch 会按照以下时间间隔,对每个新版本执行多次缓存失效设置:

  • 上传后立即执行
  • 上传 5 分钟后执行
  • 上传 60 分钟后执行

这些交错的缓存失效设置为原点服务器组提供了相互复制文件最新版本的时间,以便都能检索到最新版本的文件。

浏览器缓存

除此之外,还可以通过使用 cache-control HTTP 标头,在浏览器上缓存库版本。使用 Adobe-managed 主机时,由于无法控制 API 响应中返回的标头,因此采用了 Adobe 默认缓存设置。换句话说,您无法对 Adobe-managed 主机使用自定义标头。如果要自定义 cache-control 标头,则需要考虑选用自托管的方法来代替。

对于浏览器缓存的库版本,其生存时间 (TTL)(取决于 cache-control 标头)将因您使用的 Platform Launch 环境而异:

环境 cache-control
开发 max-age=0, no-cache, no-store
暂存 max-age=0, no-cache, no-store
生产 max-age=3600

如上表所示,开发环境和暂存环境不支持浏览器缓存。因此,您不应在高流量或生产环境中使用开发或暂存嵌入代码。

缓存控制标头仅应用于主库版本。主库下的所有子资源始终被视为新资源,因此无需在浏览器中缓存它们。

在 Platform Launch UI 中使用 Adobe-managed 托管

首次在 Platform Launch UI 中创建属性时,将自动为您创建 Adobe-managed 主机。默认情况下,所有为属性提供的现成可用的环境也都会分配给 Adobe-managed 主机。

注意

如果默认的 Adobe-managed 主机未从所有环境中分配,则可以删除该主机。如果要在执行此操作后切换回 Adobe-managed 主机,可通过以下步骤创建新主机:

  1. 选择属性上的 Hosts 选项卡,然后选择 Add Host
  2. 为主机命名,选择 Managed by Adobe 作为主机类型,然后选择 Save

接下来,您可以根据需要将环境重新分配给 Adobe-managed 主机。

后续步骤

此文档概述了 Platform Launch 中的 Adobe-managed 托管。有关其他托管选项的信息,请参阅以下文档:

有关如何管理环境中的主机的详细信息,请参阅环境指南

在此页面上