建议的部署 recommended-deployments
从AEM 6.2开始,MicroKernels充当持久性管理器。根据您的需要选择一种部署类型,具体取决于实例的用途和您考虑的部署类型。
以下示例旨在指示在大多数常见的AEM设置中,它们有哪些推荐用途。
部署方案 deployment-scenarios
单个TarMK实例 single-tarmk-instance
在此方案中,单个TarMK实例在单个服务器上运行。
这是作者实例的默认部署。
其优点是:
- 简单
- 轻松维护
- 性能良好
缺点:
- 无法扩展至超出服务器容量的限制
- 无故障转移容量
TarMK冷备用 tarmk-cold-standby
一个TarMK实例用作主实例。 主存储库将复制到备用故障转移系统。
冷备用机制也可以用作备份,因为整个存储库会不断复制到故障转移服务器。 故障转移服务器正在冷备用模式下运行,这意味着仅实例的HttpReceiver在运行。
其优点是:
- 简单性
- 可维护性
- 性能
- 故障转移
缺点:
- 无法扩展至超出服务器容量的限制
- 一台服务器大部分时间处于空闲状态
- 故障转移不是自动的。 必须先在外部检测它,然后故障切换系统才能开始为请求提供服务。
TarMK场 tarmk-farm
多个Oak实例分别运行一个TarMK实例。 TarMK存储库是独立的,需要保持同步。
使存储库保持同步的前提是,创作服务器向每个场成员发布相同的内容。 有关详细信息,请参阅复制。
对于AEM Communities,从不复制用户生成的内容(UGC)。 有关在TarMK场上支持UGC的信息,请参阅AEM Communities的注意事项。
这是发布环境的默认部署。
其优点是:
- 性能
- 读取访问的可扩展性
- 故障转移
带有MongoMK故障转移功能的Oak群集,可在单个数据中心实现高可用性 oak-cluster-with-mongomk-failover-for-high-availability-in-a-single-datacenter
此方法意味着多个Oak实例在单个数据中心内访问一个MongoDB副本集,实际上就是为AEM创作环境创建一个主动 — 主动群集。 MongoDB中的副本集用于在硬件或网络出现故障时提供高可用性和冗余。
其优点是:
- 能够使用新的AEM创作实例水平缩放
- 数据层的高可用性、冗余和自动故障切换
缺点:
- 在某些情况下,性能可能会低于TarMK
在多个数据中心间具有MongoMK故障转移功能的Oak群集 oak-cluster-with-mongomk-failover-across-multiple-datacenters
此方法意味着多个Oak实例跨多个数据中心访问一个MongoDB副本集,实际上就是为AEM创作环境创建一个主动 — 主动群集。 在多个数据中心中, MongoDB复制提供了相同的高可用性和冗余,但现在包括处理数据中心中断的能力。
其优点是:
- 能够使用新的AEM创作实例水平缩放
- 数据层的高可用性、冗余和自动故障切换(包括数据中心中断)
微内核:要使用哪一个 microkernels-which-one-to-use
在两个可用的微内核之间进行选择时需要考虑的基本规则是,TarMK是针对性能而设计的,而MongoMK则是针对可扩展性而设计的。
您可以使用这些决策矩阵来建立适合您需求的最佳部署类型。
Adobe强烈建议将TarMK作为客户在所有部署方案中(对于AEM创作实例和Publish实例)使用的默认持久性技术,但以下列出的用例除外。
在创作实例上选择AEM MongoMK而非TarMK的异常 exceptions-for-choosing-aem-mongomk-over-tarmk-on-author-instances
与TarMK相比,选择MongoMK持久性后端的主要原因是要水平缩放实例。 这意味着始终运行两个或多个活动创作实例,并使用MongoDB作为持久性存储系统。 运行多个创作实例的需要通常是由于单个服务器的CPU和内存容量(支持所有并发创作活动)不再可持续。
几乎无法预测新站点上线后确切的并发模型是什么。 因此,Adobe建议您在评估是否使用MongoMK和两个或两个以上创作活动节点时考虑以下标准:
- 一天中连接的指定用户数:千或更多。
- 并发用户数:以百为单位或更多。
- 每天的资产摄取量:数十万或更多。
- 每天页面编辑量:数十万或更多(例如通过多站点管理器或新闻馈送引入进行自动更新)。
- 每天的搜索量:万或更多。
MongoDB的最低部署通常涉及以下拓扑:
- MongoDB副本集由一个主节点和两个辅助节点组成,其中每个MongoDB实例都在可用性区域中运行,每个节点的延迟时间不到15毫秒;
- 一个创作实例集群,具有一个领导节点、一个非领导节点且始终处于活动状态,每个创作实例都在每个数据中心中运行,MongoDB主实例和辅助实例都在这些数据中心中运行。
此外,强烈建议在共享文件系统或Amazon S3上配置数据存储,以便资源或二进制文件不存储在MongoDB中。 这将确保部署中的最佳性能。
使用由两个或多个创作实例组成的群集部署MongoDB副本集的另一个好处是,如果存在创作实例、MongoDB副本或完全的数据中心故障,则可以使用最小的停机时间实现自动恢复方案。 尽管如此,MongoMK与TarMK的选择不应完全由恢复需求驱动,因为TarMK还可以提供具有受控故障转移机制的最小停机时间解决方案。
如果在部署的前18个月中不符合上述标准,则建议首先使用TarMK部署AEM,然后在符合上述标准时重新评估您的配置,最后确定是保留在TarMK上还是迁移到MongoMK。
在Publish实例上选择AEM MongoMK而非TarMK的异常 exceptions-for-choosing-aem-mongomk-over-tarmk-on-publish-instances
不建议为发布实例部署MongoMK。 部署的发布层几乎总是作为运行TarMK的完全独立的发布实例的场部署,这些实例通过从创作实例复制内容而保持同步。 这种“无共享内容”体系结构适用于发布实例,允许发布层的部署以线性方式水平扩展。 场拓扑还提供了滚动向发布实例应用任何更新或升级的优势,这样对发布层进行的任何更改都不需要停机时间。
当存在多个发布者时,这不适用于在发布层上使用MongoMK群集的AEM Communities。 如果选择JSRP(请参阅Community Content Storage),则MongoMK群集将是合适的,任何发布端群集也是如此,无论选择哪个MK(如MongoDB或RDB)。
使用MongoMK部署AEM时的先决条件和Recommendations prerequisites-and-recommendations-when-deploying-aem-with-mongomk
如果您考虑使用AEM的MongoMK部署,则可以使用一系列先决条件和建议:
MongoDB部署的必需先决条件:
- MongoDB部署架构和规模调整必须在熟悉AEM的Adobe Consulting或MongoDB架构师的帮助下成为项目实施的一部分;
- 合作伙伴或客户团队中必须具备MongoDB专业知识,才能有信心维持和维护现有或新的MongoDB环境;
- 您可以选择部署MongoDB的商业版本或开源版本(AEM同时支持两者),但必须直接从MongoDB Inc购买MongoDB维护和支持合同;
- 整体AEM和MongoDB体系结构和基础架构应由AdobeAEM架构师很好地定义和验证;
- 查看包含MongoDB的AEM部署的支持模型。
针对MongoDB部署的 强建议:
- 请参阅Adobe Experience Manager的MongoDB部署审查;
- 查看MongoDB操作清单;
- 参加MongoDB上的认证课程 — 在线提供。
AEM Communities的注意事项 considerations-for-aem-communities
对于计划部署AEM Communities的站点,建议选择一个已针对处理社区成员从发布环境中发布的UGC而优化的部署。
通过使用公用存储,无需在作者和其他发布实例之间复制UGC即可获得UGC的一致视图。
下面是一组决策矩阵,可帮助您为部署选择最佳类型的持久性:
为创作实例选择部署类型 choosing-the-deployment-type-for-author-instances
为发布实例选择部署类型 choosing-the-deployment-type-for-publish-instances