复制 replication

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.

复制代理是Adobe Experience Manager(AEM)的核心,作为用于:

  • 发布(激活) 从创作到发布环境的内容。
  • 显式刷新Dispatcher缓存中的内容。
  • 将用户输入(例如,表单输入)从发布环境返回到创作环境(在创作环境的控制下)。

请求为 已排队 转给相应的代理进行处理。

NOTE
用户数据(用户、用户组和用户配置文件)不会在创作实例和发布实例之间复制。
对于多个发布实例,用户数据在 用户同步 启用。

从创作复制到发布 replicating-from-author-to-publish

复制到发布实例或调度程序的过程分为以下步骤:

  • 作者要求发布(激活)某些内容;可以通过手动请求或预配置的自动触发器来启动此操作。

  • 请求将传递到相应的默认复制代理;一个环境可以具有多个默认代理,这些默认代理将始终为此类操作选择。

  • 复制代理将“打包”内容并将其置于复制队列中。

  • 在“网站”选项卡中, 颜色状态指示器 为各个页面设置。

  • 内容会从队列中提取并使用配置的协议传输到发布环境;通常为HTTP。

  • 发布环境中的servlet接收请求并发布接收的内容;默认的servlet为 http://localhost:4503/bin/receive.

  • 可以配置多个创作和发布环境。

chlimage_1-144

从发布到创作进行复制 replicating-from-publish-to-author

某些功能允许用户在发布实例上输入数据。

在某些情况下,需要一种称为反向复制的复制类型,才能将此数据返回到创作环境,从中将其重新分发到其他发布环境。 出于安全考虑,必须严格控制从发布到创作环境的任何流量。

反向复制使用发布环境中引用创作环境的代理。 此代理将数据放入发件箱中。 此发件箱与创作环境中的复制侦听器匹配。 听众轮询发件箱以收集输入的任何数据,然后根据需要分发。 这可确保创作环境控制所有流量。

在其他情况下,例如对于“社区”功能(例如,论坛、博客、评论和评论),使用复制在发布环境中输入的用户生成内容(UGC)量很难在AEM实例之间高效同步。

AEM 社区 从不对UGC使用复制。 Communities的部署需要UGC的公共存储(请参阅 社区内容存储)。

复制 — 开箱即用 replication-out-of-the-box

标准安装AEM中包含的Geometrixx网站可用于说明复制。

要遵循此示例并使用所需的默认复制代理,请 安装AEM 与:

  • 端口上的创作环境 4502
  • 端口上的发布环境 4503
NOTE
默认为已启用 :
  • 作者代理:默认代理(发布)
默认情况下会实际禁用(自AEM 6.1起):
  • 作者代理:反向复制代理(publish_reverse)
  • 发布代理:反向复制(发件箱)
要检查代理或队列的状态,请使用 工具 控制台。
请参阅 监控复制代理.

复制(创作到发布) replication-author-to-publish

  1. 导航到创作环境中的支持页面。

    http://localhost:4502/content/geometrixx/en/support.html

  2. 编辑页面以添加一些新文本。

  3. 激活页面 以发布更改。

  4. 在发布环境中打开支持页面:

    http://localhost:4503/content/geometrixx/en/support.html

  5. 现在,您可以查看在创作中输入的更改。

此复制操作是从创作环境中通过执行以下操作进行的:

  • 默认代理(发布)
    此代理将内容复制到默认的发布实例。

    有关此(配置和日志)的详细信息,可从创作环境的“工具”控制台访问;或:

    http://localhost:4502/etc/replication/agents.author/publish.html

复制代理 — 开箱即用 replication-agents-out-of-the-box

标准AEM安装中提供以下代理:

  • 默认代理 — 用于从创作复制到发布。

  • 调度程序刷新 — 用于管理调度程序缓存。 请参阅 从创作环境中使Dispatcher缓存失效从发布实例中使调度程序缓存失效 以了解更多信息。

  • 反向复制 — 用于从发布复制到创作。 社区功能(如论坛、博客和评论)不使用反向复制。 由于未启用发件箱,因此会有效地禁用该功能。 使用反向复制需要自定义配置。

  • 静态代理 — 这是一个“将节点的静态表示存储到文件系统中的代理”。 例如,使用默认设置时,内容页面和dam资产存储在 /tmp,以HTML或相应的资产格式。 请参阅 SettingsRules 选项卡。 请求执行此操作,以便当直接从应用程序服务器请求页面时,可以看到内容。 这是一个专门的代理,在大多数情况下(可能)不是必需的。

复制代理 — 配置参数 replication-agents-configuration-parameters

从“工具”控制台配置复制代理时,对话框中有四个选项卡:

设置 settings

  • 名称

    复制代理的唯一名称。

  • 描述

    此复制代理的用途描述。

  • 启用

    指示复制代理当前是否已启用。

    当代理为 已启用 队列将显示为:

    • 活动 处理项目时。
    • 空闲 队列为空时。
    • 已阻止 项目在队列中,但无法处理时;例如,当接收队列被禁用时。
  • 序列化类型

    序列化的类型:

    • 默认:如果要自动选择代理,则进行设置。
    • 调度程序刷新:如果要使用代理刷新调度程序缓存,请选择此选项。
  • 重试延迟

    如果遇到问题,则两次重试之间的延迟(等待时间(以毫秒为单位)。

    默认: 60000

  • 代理用户 ID

    根据环境,代理将使用此用户帐户执行以下操作:

    • 从创作环境中收集和打包内容
    • 在发布环境中创建和写入内容

    将此字段留空,以使用系统用户帐户(sling中定义的帐户为管理员用户;默认情况下, admin)。

    note caution
    CAUTION
    对于创作环境中的代理,此帐户 必须 拥有对要复制的所有路径的读取权限。
    note caution
    CAUTION
    对于发布环境中的代理,此帐户 必须 具有复制内容所需的创建/写入权限。
    note note
    NOTE
    这可用作选择特定内容进行复制的机制。
  • 日志级别

    指定用于日志消息的详细级别。

    • Error:只记录错误
    • Info:将记录错误、警告和其他信息性消息
    • Debug:将在消息中使用高级详细信息,主要用于调试目的

    默认: Info

  • 使用反转复制

    指示此代理是否用于反向复制;返回从发布到创作环境中的用户输入。

  • 别名更新

    选择此选项可向Dispatcher启用别名或虚路径失效请求。 另请参阅 配置调度程序刷新代理.

传输 transport

  • URI

    这会指定目标位置的接收Servlet。 特别是,您可以在此处指定目标实例的主机名(或别名)和上下文路径。

    例如:

    • 默认代理可以复制到 http://localhost:4503/bin/receive
    • 调度程序刷新代理可以复制到 http://localhost:8000/dispatcher/invalidate.cache

    此处指定的协议(HTTP或HTTPS)将确定传输方法。

    对于调度程序刷新代理,仅当使用基于路径的虚拟主机条目来区分场时,才使用URI属性,使用此字段来定位要失效的场。 例如,场 #1 的虚拟主机为 www.mysite.com/path1/*,场 #2 的虚拟主机为 www.mysite.com/path2/*。您可以使用 URL /path1/invalidate.cache 定位第一个场,使用 /path2/invalidate.cache 定位第二个场。

  • 用户

    用于访问目标的帐户的用户名。

  • 密码

    用于访问目标的帐户的密码。

  • NTLM 域

    用于NTML身份验证的域。

  • NTLM 主机

    用于NTML身份验证的主机。

  • 启用宽松 SSL

    如果希望接受自认证的SSL证书,请启用。

  • 允许过期的证书

    如果希望接受过期的SSL证书,则启用。

代理 proxy

仅当需要代理时,才需要以下设置:

  • 代理主机

    用于传输的代理的主机名。

  • 代理端口

    代理的端口。

  • 代理用户

    要使用的帐户的用户名。

  • 代理密码

    要使用的帐户的密码。

  • 代理 NTLM 域

    代理NTLM域。

  • 代理·NTLM 主机

    代理NTLM域。

扩展 extended

  • 接口

    在此,您可以定义要绑定到的套接字接口。

    这会设置创建连接时使用的本地地址。 如果未设置此设置,则将使用默认地址。 这对于指定要在多宿主或群集系统上使用的接口非常有用。

  • HTTP 方法

    要使用的HTTP方法。

    对于调度程序刷新代理,这几乎总是GET,不应更改(POST将是另一个可能的值)。

  • HTTP 头

    这些参数用于调度程序刷新代理,并指定必须刷新的元素。

    对于调度程序刷新代理,三个标准条目不应需要更改:

    • CQ-Action:{action}
    • CQ-Handle:{path}
    • CQ-Path:{path}

    根据需要,使用这些参数来指示刷新手柄或路径时要使用的操作。 子参数是动态的:

    • {action} 表示复制操作
    • {path} 指示路径

    它们将被与请求相关的路径/操作替换,因此不需要“硬编码”:

    note note
    NOTE
    如果您在推荐的默认上下文以外的上下文中安装了AEM,则需要在HTTP标头中注册该上下文。 例如:
    CQ-Handle:/<*yourContext*>{path}
  • 关闭连接

    在每个请求后启用以关闭连接。

  • 连接超时

    尝试建立连接时应用的超时(以毫秒为单位)。

  • 套接字超时

    在建立连接后等待流量时应用的超时(以毫秒为单位)。

  • 协议版本

    协议版本;例如 1.0 (对于HTTP/1.0)。

触发器 triggers

以下设置用于定义用于自动复制的触发器:

  • 忽略默认值

    如果选中,则代理将从默认复制中排除;这意味着如果内容作者发出复制操作,则不会使用此插件。

  • 修改

    此处,将在修改页面时自动触发此代理的复制。 它主要用于调度程序刷新代理,但也用于反向复制。

  • 在分发时

    如果选中,则代理将在修改时自动复制标记为分发的任何内容。

  • 已实现开/关时间

    当发生为页面定义的在线或离线时间时,这将触发自动复制(根据需要激活或停用页面)。 它主要用于调度程序刷新代理。

  • 接收时

    如果选中此选项,则代理将在收到复制事件时链式复制。

  • 无状态更新

    选中此选项后,代理将不会强制更新复制状态。

  • 无版本控制

    选中此选项后,代理将不会强制对已激活的页面进行版本控制。

配置复制代理 configuring-your-replication-agents

有关使用MSSL将复制代理连接到发布实例的信息,请参阅 使用互相SSL复制.

从创作环境配置复制代理 configuring-your-replication-agents-from-the-author-environment

在创作环境的工具选项卡中,您可以配置位于创作环境(作者代理)或发布环境(发布时的代理)。 以下过程说明了创作环境的代理配置,但可用于这两者。

NOTE
当调度程序处理创作或发布实例的HTTP请求时,来自复制代理的HTTP请求必须包含PATH标头。 除了以下过程之外,您还必须将PATH标头添加到客户端标头的调度程序列表中。 (请参阅 /clientheaders(客户端头). 🔗
  1. 访问 工具 选项卡。

  2. 单击 复制 (左窗格以打开文件夹)。

  3. 双击 作者代理 (左窗格或右窗格)。

  4. 单击相应的代理名称(即链接)可显示有关该代理的详细信息。

  5. 单击 编辑 要打开配置对话框,请执行以下操作:

    chlimage_1-145

  6. 提供的值应足以用于默认安装。 如果进行更改,请单击 确定 以保存它们(请参阅 复制代理 — 配置参数 ,以了解有关各个参数的更多详细信息)。

NOTE
AEM的标准安装指定 admin 作为默认复制代理内传输凭据的用户。
应将此帐户更改为具有复制所需路径权限的特定于站点的复制用户帐户。

配置反向复制 configuring-reverse-replication

反向复制用于将发布实例上生成的用户内容返回到创作实例。 这通常用于调查和注册表单等功能。

出于安全原因,大多数网络拓扑不允许连接 “非军事区”(向不受信任的网络(如Internet)提供外部服务的子网络)。

由于发布环境通常位于DMZ中,因此要将内容返回到创作环境,必须从创作实例启动连接。 这可通过以下方式完成:

  • an 发箱 在放置内容的发布环境中。
  • 创作环境中的代理(发布),该环境会定期轮询发件箱以获取新内容。
NOTE
对于AEM 社区,则发布实例上用户生成的内容不会使用复制。 请参阅 社区内容存储.

为此,您需要:

创作环境中的反向复制代理 此组件用作活动组件,用于从发布环境的发件箱中收集信息:

如果要使用反向复制,请确保激活此代理。

chlimage_1-146

发布环境中的反向复制代理(发件箱) 这是被动元素,因为它充当“发件箱”。 用户输入将放置在此处,作者环境中的代理从中收集用户输入。

chlimage_1-9

为多个发布实例配置复制 configuring-replication-for-multiple-publish-instances

NOTE
仅复制内容 — 不复制用户数据(用户、用户组和用户配置文件)。
要在多个发布实例之间同步用户数据,请启用 用户同步.

安装后,已配置默认代理,以将内容复制到本地主机端口4503上运行的发布实例。

要为其他发布实例配置内容复制,您需要创建并配置一个新的复制代理:

  1. 打开 工具 选项卡。

  2. 选择 复制,则 作者代理 中。

  3. 选择 新建…….

  4. 设置 标题名称,然后选择 复制代理.

  5. 单击 创建 创建新代理。

  6. 双击新代理项以打开配置面板。

  7. 单击 编辑 - 代理设置 对话框将打开 — 序列化类型 已定义为默认,则必须保持默认状态。

    • 设置 选项卡:

      • 激活 已启用.
      • 输入 描述.
      • 设置 重试延迟 to 60000.
      • 离开 序列化类型 as Default.
    • 运输 选项卡:

      • 输入新发布实例所需的URI;例如,

        http://localhost:4504/bin/receive

      • 输入用于复制的特定于站点的用户帐户。

      • 您可以根据需要配置其他参数。

  8. 单击 确定 来保存设置。

然后,您可以通过在创作环境中更新并发布页面来测试操作。

这些更新将显示在已配置为上述内容的所有发布实例上。

如果您遇到任何问题,可以检查创作实例上的日志。 根据所需的详细级别,您还可以设置 日志级别 to Debug 使用 代理设置 对话框。

NOTE
这可以与的使用结合使用 代理用户Id ,以选择要复制到单个发布环境的不同内容。 对于每个发布环境:
  1. 配置复制代理以复制到该发布环境。
  2. 配置用户帐户;具有读取将被复制到该特定发布环境的内容所需的访问权限。
  3. 将用户帐户分配为 代理用户Id 复制代理。

配置调度程序刷新代理 configuring-a-dispatcher-flush-agent

安装中包含默认代理。 但是,如果您要定义新代理,则仍需要某些配置,这同样适用:

  1. 打开 工具 选项卡。

  2. 单击 部署.

  3. 选择 复制 然后 发布时的代理.

  4. 双击 调度程序刷新 项目以打开概述。

  5. 单击 编辑 - 代理设置 对话框将打开:

    • 设置 选项卡:

      • 激活 已启用.
      • 输入 描述.
      • 离开 序列化类型 as Dispatcher Flush,或在创建新代理时将其设置为。
      • (可选)选择 别名更新 启用对Dispatcher的别名或虚路径失效请求。
    • 运输 选项卡:

      • 输入新发布实例所需的URI;例如,

        http://localhost:80/dispatcher/invalidate.cache

      • 输入用于复制的特定于站点的用户帐户。

      • 您可以根据需要配置其他参数。

    对于调度程序刷新代理,仅当使用基于路径的虚拟主机条目来区分场时,才使用URI属性,使用此字段来定位要失效的场。 例如,场 #1 的虚拟主机为 www.mysite.com/path1/*,场 #2 的虚拟主机为 www.mysite.com/path2/*。您可以使用 URL /path1/invalidate.cache 定位第一个场,使用 /path2/invalidate.cache 定位第二个场。

    note note
    NOTE
    如果您在推荐的默认上下文以外的上下文中安装了AEM,则需要配置 HTTP头扩展 选项卡。
  6. 单击 确定 以保存更改。

  7. 返回到 工具 选项卡,在此 激活 the 调度程序刷新 代理(发布时的代理)。

调度程序刷新 复制代理在创作时不活动。 您可以使用等效的URI在发布环境中访问同一页面;例如, http://localhost:4503/etc/replication/agents.publish/flush.html.

控制对复制代理的访问 controlling-access-to-replication-agents

使用 etc/replication 节点。

NOTE
设置此类权限将不会影响复制内容的用户(例如,从“网站”控制台或Sidekick选项)。 复制框架在复制页面时不使用当前用户的“用户会话”访问复制代理。

通过CRXDE Lite配置复制代理 configuring-your-replication-agents-from-crxde-lite

[注意!]

仅在 /etc/replication 存储库位置。 要正确处理关联的ACL,需要这样做。 在树的其他位置创建复制代理可能会导致未经授权的访问。

可以使用CRXDE Lite配置复制代理的各种参数。

如果您导航到 /etc/replication 您可以看到以下三个节点:

  • agents.author
  • agents.publish
  • treeactivation

两个 agents 保留有关相应环境的配置信息,并且仅在该环境运行时才处于活动状态。 例如, agents.publish 将仅在发布环境中使用。 以下屏幕截图显示了创作环境中的发布代理,该代理随AEM WCM一起提供:

chlimage_1-147

监控复制代理 monitoring-your-replication-agents

要监视复制代理,请执行以下操作:

  1. 访问 工具 选项卡。

  2. 单击 复制.

  3. 双击相应环境(左窗格或右窗格)的代理链接;例如 作者代理.

    生成的窗口显示了创作环境的所有复制代理的概述,包括其目标和状态。

  4. 单击相应的代理名称(即链接)可显示有关该代理的详细信息:

    chlimage_1-10

    在此编辑器中,您可以:

    • 查看是否启用了代理。
    • 查看任何复制的目标。
    • 查看复制队列当前是否处于活动状态(已启用)。
    • 查看队列中是否有任何项目。
    • 刷新清除 更新队列条目的显示;这有助于您查看进入队列和离开队列的项目。
    • 查看日志 以访问复制代理执行的任何操作的日志。
    • 测试连接 到目标实例。
    • 强制重试 (如果需要)。
    note caution
    CAUTION
    请勿在发布实例上对反向复制发件箱使用“测试连接”链接。
    如果对发件箱队列执行复制测试,则所有早于测试复制的项目都将通过每次反向复制进行重新处理。
    如果此类项目已存在于队列中,则可通过以下XPath JCR查询找到它们,并应将其删除。
    /jcr:root/var/replication/outbox//*[@cq:repActionType='TEST']

批量复制 batch-replication

批量复制不会复制单个页面或资产,而是会等待触发两个页面或资产的第一个阈值(基于时间或大小)。

然后,将所有复制项打包到一个包中,然后将该包作为单个文件复制到发布者。

出版商将解包所有项目,保存它们并向作者报告。

配置批量复制 configuring-batch-replication

  1. 转到 http://serveraddress:serverport/siteadmin
  2. 工具 图标
  3. 从左侧导航边栏中,转到 复制 — 创作代理 双击 默认代理.
    • 您还可以直接转到 http://serveraddress:serverport/etc/replication/agents.author/publish.html
  4. 编辑 按钮。
  5. 在以下窗口中,转到 批次 选项卡:
    批量复制
  6. 配置代理。

参数 parameters

  • Enable Batch Mode — 启用或禁用批处理复制模式
  • Max Wait Time — 在启动批处理请求之前的最长等待时间(以秒为单位)。 默认为2秒。
  • Trigger Size — 当达到此大小限制时(以MB为单位),启动批量复制。 默认为5 MB。

其他资源 additional-resources

有关疑难解答的详细信息,请阅读 复制故障诊断 页面。

有关其他信息,Adobe提供了一系列与复制相关的知识库文章:

https://helpx.adobe.com/cn/experience-manager/kb/ReplicationSiblingReordering.html
https://helpx.adobe.com/cn/experience-manager/kb/ReplicationFailureAfterNewIP.html
https://helpx.adobe.com/cn/experience-manager/kb/LimitAccessToReplicationAgents.html
https://helpx.adobe.com/experience-manager/kb/PagePermissionsNotReplicatedWithUser.html
https://helpx.adobe.com/cn/experience-manager/kb/HowToUseReverseReplication.html
https://helpx.adobe.com/cn/experience-manager/kb/CQ5ReplicateToSpecificAgents.html
https://helpx.adobe.com/cn/experience-manager/kb/ReplicationListener.html
https://helpx.adobe.com/experience-manager/kb/replication-stuck.html
https://helpx.adobe.com/cn/experience-manager/kb/replication-privileges-missing-after-upgrade-to-cq-5-5.html
https://helpx.adobe.com/cn/experience-manager/kb/CQ53UnableToCreateJobQueueDueToMaxQueues.html
https://helpx.adobe.com/cn/experience-manager/kb/ACLReplication.html
https://helpx.adobe.com/cn/experience-manager/kb/content-grow-due-reverse-replication.html
https://helpx.adobe.com/cn/experience-manager/kb/ReplicationAgentUsingAnonUser.html

recommendation-more-help
6a71a83d-c2e0-4ce7-a6aa-899aa3885b56