本页介绍AEM推荐的拓扑。 有关群集功能以及如何配置这些功能的详细信息,请参阅 Apache Sling Discovery API文档.
从AEM 6.2开始,MicroKernels充当持久性管理器。根据您的需要选择一种部署类型,具体取决于实例的用途和您考虑的部署类型。
以下示例旨在指示在最常见的AEM设置中建议使用哪些功能。
在此方案中,单个TarMK实例在单个服务器上运行。
这是创作实例的默认部署。
其优点是:
缺点:
一个TarMK实例作为主实例。 将主存储库复制到备用故障转移系统。
冷备用机制也可以用作备份,因为整个存储库会不断复制到故障转移服务器。 故障转移服务器正在冷备用模式下运行,这意味着只有实例的HttpReceiver在运行。
其优点是:
缺点:
有关如何使用TarMK冷备用配置AEM的更多信息,请参阅 此 文章。
此TarMK示例中的“冷备用”部署要求主实例和备用实例都单独授予许可,因为可以不断复制到故障转移服务器。 欲知关于许可的详情,请查阅 Adobe一般许可条款.
多个Oak实例分别运行一个TarMK实例。 TarMK存储库是独立的,需要保持同步。
使存储库保持同步的原因是创作服务器向每个场成员发布相同的内容。 有关更多信息,请参阅 复制.
对于AEM Communities,从不复制用户生成的内容(UGC)。 有关在TarMK场上支持UGC的信息,请参阅 AEM Communities的注意事项.
这是发布环境的默认部署。
其优点是:
此方法意味着多个Oak实例在单个数据中心内访问MongoDB副本集,实际上为AEM创作环境创建了一个主动 — 主动群集。 MongoDB中的副本集用于在发生硬件或网络故障时提供高可用性和冗余。
其优点是:
缺点:
此方法意味着多个Oak实例跨多个数据中心访问MongoDB副本集,实际上为AEM创作环境创建了一个主动 — 主动群集。 在多个数据中心中, MongoDB复制提供了相同的高可用性和冗余,但现在包括处理数据中心中断的能力。
其优点是:
在上图中,假设数据中心2中的AEM服务器与数据中心1中的MongoDB主节点之间的网络延迟高于记录的要求,则AEM Server 3和AEM Server 4将显示为非活动状态 此处. 如果最大延迟与要求兼容(例如通过使用可用区),则数据中心2中的AEM服务器也可以处于活动状态,从而创建跨多个数据中心的主动 — 主动AEM群集。
有关本节所述的MongoDB架构概念的其他信息,请参见 MongoDB复制.
在两个可用的微内核之间进行选择时需要考虑的基本规则是,TarMK是针对性能而设计的,而MongoMK是针对可扩展性而设计的。
您可以使用这些决策矩阵,确定哪种部署类型最适合您的要求。
Adobe强烈建议将TarMK作为客户在所有部署方案中(对于AEM创作实例和发布实例)使用的默认持久性技术,但以下列出的用例除外。
与TarMK相比,选择MongoMK持久性后端的主要原因是要水平缩放实例。 这意味着始终运行两个或多个活动创作实例,并使用MongoDB作为持久性存储系统。 运行多个创作实例的需要通常是由于单个服务器的CPU和内存容量(支持所有并发创作活动)不再可持续。
几乎无法预测新站点上线后确切的并发模型是什么。 因此,Adobe建议您在评估是否使用MongoMK和两个或更多创作活动节点时考虑以下标准:
Tough Day可用于在部署的硬件配置环境中评估客户应用程序的性能。 有关此工具的详细信息 此处.
MongoDB的最低部署通常涉及以下拓扑:
此外,强烈建议在共享文件系统或Amazon S3上配置数据存储,以便资源或二进制文件不存储在MongoDB中。 这将确保部署中的最佳性能。
使用由两个或多个创作实例组成的群集部署MongoDB副本集的另一个好处是,在创作实例、MongoDB副本或完全数据中心故障的情况下,具有自动恢复方案,停机时间最短。 尽管如此,MongoMK与TarMK的选择不应仅受恢复需求的驱动,因为TarMK还可以提供具有受控故障转移机制的最小停机时间解决方案。
如果在部署的前18个月中无法满足上述标准,则鼓励首先使用TarMK部署AEM,然后在满足上述标准时稍后重新评估配置,最后确定是保留在TarMK上还是迁移到MongoMK。
不建议为发布实例部署MongoMK。 部署的发布层几乎总是作为运行TarMK的完全独立的发布实例的场部署,这些实例通过从创作实例复制内容来保持同步。 这种“不共享任何内容”的体系结构适用于发布实例,允许发布层的部署以线性方式水平扩展。 场拓扑还提供了滚动应用任何更新或升级以发布实例的好处,因此对发布层的任何更改都不需要停机。
当存在多个发布者时,这不适用于在发布层上使用MongoMK群集的AEM Communities。 如果选择JSRP (请参见 社区内容存储),则MongoMK群集将是合适的,与任何已选择MK的发布端群集(例如MongoDB或RDB)一样。
如果您考虑使用AEM的MongoMK部署,则提供以下先决条件和建议:
MongoDB部署的必需先决条件:
针对MongoDB部署的强大建议:
有关这些指南、先决条件和建议的所有其他问题,请联系 Adobe客户关怀.
对于计划部署的站点 AEM Communities,建议执行以下操作 选择部署 针对处理发布环境中的社区成员发布的UGC进行了优化。
通过使用 公用存储,UGC无需在创作实例和其他发布实例之间复制即可获得UGC的一致视图。
下面是一组决策矩阵,可帮助您为部署选择最佳类型的持久性:
MongoDB是第三方软件,未包含在AEM许可包中。 欲了解更多信息,请参见 MongoDB许可策略 页面。
为了充分利用AEM部署,Adobe建议许可MongoDB Enterprise版本,以便获得专业支持。
该许可证包含一个标准副本集,该副本集由一个主实例和两个辅助实例组成,这两个实例可用于创作或发布部署。
如果您希望在MongoDB上运行author和publish,则需要购买两个单独的许可证。
欲了解更多信息,请参见 适用于Adobe Experience Manager的MongoDB页.