【问题标题】:Setting up the dispatcher and CDN integration with AEM 6.x - Steps and Best Practices?使用 AEM 6.x 设置调度程序和 CDN 集成 - 步骤和最佳实践?
【发布时间】:2016-08-08 07:12:08
【问题描述】:

我们需要设置一个新的 AEM 6.x 项目,该项目在生产中利用 CDN(如 Akamai)和 Apache HTTP Web 服务器中的调度程序模块的优势。 所以这个查询是关于询问从哪一点开始以及其中涉及的步骤是什么?还有哪些最佳实践需要考虑?

【问题讨论】:

标签: apache webserver aem dispatcher


【解决方案1】:

这完全取决于您希望如何配置您的系统,调度程序和 CDN 缓存在文档中都有自己的最佳实践(可通过 Internet 获得)。

到目前为止,我看到了两种类型的设置 -

  1. 缓存调度程序和 CDN 上的所有内容
  2. 在调度程序上缓存所有内容,但不在 CDN 上缓存 HTML(因此有效地缓存了图像、CSS、JS,但没有 HTML)

缓存调度程序和 CDN 上的所有内容

  • 第一次点击后,所有内容都会被缓存
  • 简单设置
  • 缓存清理很复杂,您需要自己的逻辑与调度程序刷新关联以刷新 CDN 缓存。参考Akamai Connector
  • 相关内容刷新存在复杂性,而从作者发布内容到发布 AEM 会识别相关内容并发送相同的激活。 CDN 刷新也需要这样做。
  • 不能完全刷新 CDN 缓存,这需要很长时间才能完成。

不在 CDN 上缓存 HTML

  • 具有上述方法的所有优点
  • 对于库和图像资产实现基于选择器的版本控制(AEM ACS Commons 为 ClientLibs 提供了这一点,您可以为资产 url 重写器实现自己的逻辑,将 last modifiedDate 作为选择器添加到资产调用中,并且您的呈现 servlet 负责选择器管理)
  • 通过在 Assets 和 clientLibraries 上设置适当的 expires 标头,您将不必担心显式 CDN 缓存管理
  • 使用新资产和/或库激活的页面将引用更新的选择器并缓存在调度程序上。当对该页面进行调用时,CDN 缓存库和资产,并且页面引用相同的 CDN 版本。资产和库是独立的,并通过页面独立反映。
  • 根据 TTL 从 CDN 中清除过期资源

要使上述步骤生效,可能还需要额外的步骤,我所概述的是高级方法。您将需要遵循调度程序文档和 CDN 设置中指定的安全性、SSL、域建模和其他配置指南。少数人可以参考 AKAMAI 博客here

【讨论】:

  • 您能否分享设置 Apache HTTP 调度程序和基于免费/试用许可的 CDN 的步骤;需要它亲自动手并深入了解所涉及的步骤。
  • 调度程序的步骤与 AEM 文档中指定的步骤相同。至于免费 CDN,您可以使用 AWS Cloudfront,亚马逊提供免费的 1 年有限帐户,aws.amazon.com/cloudfront
  • 我们也不打算在我们的案例中缓存 HTML,因为 CloudFront 不像 Akamai 那样支持 SSI/ESI。而且我认为要使基于选择器的资产版本控制工作,我们需要做更多的事情。我添加到列表中的额外步骤是,每当资产被激活/复制时,我们必须清除调度程序上引用该资产的所有页面的缓存,否则 CDN 将继续从调度程序获取指向旧的 HTML资产,因此您的客户将看到陈旧的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 2015-04-07
  • 1970-01-01
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多