Salesforce B2C商业复制 – 探索B2C商业复制

学习目标

完成本单元后,您将能够:

  • 列出复制影响的三个实例。
  • 列出运行复制的三种方式。
  • 列出三种可自动触发高速缓存刷新的数据复制类型。
  • 描述复制回滚。

介绍

Linda Rosenberg是高端运动鞋公司Cloud Kicks的新管理员。最近,她学习了如何在Salesforce B2C Commerce中执行一些基本的数据管理任务。现在,她想成为一名专家,负责将数据和代码更改从公司的电子商务登台实例转换为生产和开发实例。

例如,她的开发人员刚刚创建了一个更加简化的结帐流程,并添加了额外的产品折扣功能,该功能需要更改Business Manager中的配置设置。另外,琳达刚刚从外部系统导入了产品数据,以准备新的弹簧线。她可以用来在B2C Commerce实例之间移动代码,配置设置和数据的过程称为复制

Linda Rosenberg,管理员

复制过程是您执行的任务的集合,这些任务将已定义的数据或代码从源实例推送到目标实例。源实例是代码或数据当前所在的位置。目标实例是您要结束的位置。使用复制时,源实例为暂存,目标实例为developmentproduction

源实例和目标实例

猪和SIG

如果完成了 Salesforce B2C Commerce角色和权限模块,您将了解B2C Commerce体系结构。现在让我们更深入地研究实例。当商家首次实现站点时,该站点通常每个域接收九个实例。这包括:

  • 主实例组(PIG)上的三个实例:
    • 分期
    • 测试开发
    • 部署生产
  • 五个沙箱实例,用于在辅助实例组(SIG)上进行代码开发。为了实现可扩展性,商家每个域最多可以有47个沙箱。
  • 一个演示实例。

您只能在PIG上执行复制。数据复制和代码复制都是如此。

数据复制将数据,元数据和文件从登台复制到开发或生产实例。它在两个级别上起作用。

  • 全局复制,包括适用于整个组织的配置信息和数据。
  • 站点复制,包括属于一个或多个指定站点的数据(例如产品和目录数据,基于XML的内容组件和图像文件)。

代码复制将代码版本从暂存阶段转移到开发或生产实例,并激活它们。

开发人员将代码从开发人员的计算机上载到沙箱。 代码部署也可以从本地计算机到登台进行。

通常,开发人员负责将代码从SIG转移到PIG。当开发人员在本地计算机上完成编码后,他们会将代码上传到沙盒或登台。他们可能使用Visual Studio Code上载它,或者他们可能使用代码存储库(例如Git)在多个开发人员之间同步工作。然后,代码存储库是登台实例发布的源。这种类型的开发环境可能具有自己的构建过程,并且具有自动上载功能。

复制将数据和代码从登台实例推送到生产和开发实例。

复制过程

Linda了解到复制涉及以下步骤。

  1. 运行从暂存到开发的复制以进行测试。
  2. 测试开发实例并查看日志。
  3. 确保搜索有效,并且开发系统上的数据正确。
  4. 在登台实例上进行必要的更改。
  5. 从阶段复制到开发,然后再次测试,直到一切正常为止。
  6. 从登台复制到生产。
  7. 测试生产中的所有内容,即使它们已正确复制到开发中也是如此。

当Linda配置数据或代码复制过程时,她可以选择立即运行它,安排它以后运行,或将其分配给作业。做什么工作 B2C Commerce作业是一组执行长时间运行的操作的步骤,例如下载导入文件或重建搜索索引。我们在Salesforce B2C Commerce Scheduled Jobs模块中谈论工作 。

数据复制是一个长期运行的过程,包含两个阶段。

  1. 将数据复制到目标系统-数据在目标系统上尚不可见。
  2. 发布-这很快,并且可以同时使用所有更改。

她可以将数据复制过程配置为每天,每周或每月在特定时间重复一次。如果您计划复制过程在以后运行,则该过程将在运行时而不是在创建该过程时复制系统状态。

代码复制将代码版本从登台实例转移到开发或生产实例,然后激活它们。

还会发生什么?

复制期间,Linda必须避免进行其他更新。她很快了解到,在运行复制时,在Business Manager中对源或目标实例进行手动编辑不是一个好主意。在此过程中进行编辑可能会影响数据的一致性。

她还确保在复制期间目标实例上没有任何作业正在运行,并避免在B2C Commerce标准维护窗口期间进行数据复制。如果重复的数据复制过程失败,它将不会自动再次运行。

页面缓存影响

代码复制和数据复制都具有页面缓存含义。某些复制任务会自动使缓存无效并刷新。有些任务不会自动执行此操作,因此Linda必须始终在运行这些任务后手动清除缓存。让我们看看她采取的手动清除缓存的步骤。

要访问业务管理器,您必须具有B2C Commerce实施。在此模块中,我们假设您是B2C Commerce管理员,具有执行这些任务的适当权限。如果您不是B2C Commerce管理员,那就可以了。继续阅读以了解您的管理员如何在登台实例中执行这些步骤。不要尝试在您的Trailhead游乐场中遵循我们的步骤。Trailhead Playground中不提供B2C Commerce。如果您拥有B2C Commerce的暂存实例,则可以在实例中尝试这些步骤。如果没有暂存实例,请询问您的经理是否有可以使用的实例。

要访问并使缓存无效:

  1. 打开业务经理。
  2. 选择管理>站点>管理站点>站点名称
  3. 单击缓存选项卡。
  4. 选择登台实例。
  5. 在“缓存无效”部分中,单击“无效”以使站点的“静态内容缓存”和“整个页面缓存”或“站点的整个页面缓存”无效。这将立即生效。业务管理器缓存无效

清除页面缓存可能会对应用程序服务器造成沉重的负担。这意味着Linda仅在必要时才应手动清除页面缓存,并避免在高流量时间清除它。例如,如果Linda进行了一些次要更新,而不是立即清除缓存,则可以在晚上等待计划的缓存清除。如果更改涉及重要的安全功能或关键产品或促销更新,则她的决定会有所不同。

无论她何时清除缓存,清除缓存命令最多可能需要15秒才能到达Web服务器。她可能不会立即看到缓存更新。为了确保成功复制,她评估了更改范围,并尝试使更改尽可能小。

对于自动和手动缓存刷新,B2C Commerce将刷新生产实例中的所有页面延迟15分钟。这样可以确保跨应用程序服务器的负载分配。在非生产实例上,页面缓存立即刷新。

代码复制

从阶段到生产的代码复制过程的最后一步将自动清除缓存。

资料复制

默认情况下,数据复制过程的最后一步会自动使缓存无效并刷新,除非在某些情况下。Linda可以配置复制过程以跳过自动缓存清除。但是,她必须谨慎执行此操作,因为它可能导致店面中的数据不一致,这可能很难进行故障排除。

让我们看一个示例,Linda将选择跳过自动缓存清除。B2C Commerce将产品描述页面缓存24小时。Linda安排第二天晚上清除产品页面的缓存,然后注意到生产实例上的几种产品价格不正确。她要求采购员在登台实例上在Business Manager中更正价格,然后使用跳过页面缓存清除的过程将更改复制到生产中,因为她已经安排了它。

这样可以使价格数据在登台和生产过程中保持同步,并确保正确的价格出现在购物篮中(不会被缓存)。店面的产品描述页面显示旧的,错误的价格,直到计划的页面缓存清除发生。

注意

购物篮是B2C Commerce API中用于购物车的术语。

跳过自动缓存刷新意味着她在产品描述页面上接受了不正确价格的折衷,以换取避免生产缓存刷新对性能的影响。最重要的是,生产实例上的购物篮与登台实例同步反映正确的价格。

这些是其他一些页面缓存注意事项。

复制时… B2C商务…
特定于站点的数据 清除受影响站点的页面缓存,除非您仅复制优惠券,源代码,Open Commerce API设置或活动数据供稿。
全球数据 清除所有受影响站点的页面缓存,除非您仅复制地理位置或客户列表。
目录,网站或价格手册 自动清除缓存。
促销或静态内容 不自动清除缓存。
产品目录 使用下表中描述的规则有选择地清除受影响站点的页面缓存。

目录是一种特殊情况,如下所示。

复制时… B2C Commerce从…清除缓存
组织所有站点的所有目录 组织的所有站点。
分配给一个或多个站点的单个目录 分配目录的站点。
一个主目录,不直接分配给一个站点,而是用作一个或多个站点或导航目录的产品存储库 以编程方式确定的站点,这些站点提供主目录中的产品。

最佳实践

Linda现在对复制有很好的处理。但是在为Cloud Kicks设置任何复制过程之前,她仔细研究了以下最佳实践。

  • 识别不同数据复制组之间的依赖关系。例如,如果您有使用源代码和优惠券代码的广告系列,则在复制广告系列之前或之前复制源代码和优惠券。
  • 始终重建搜索索引,并确保过程已完成,然后再复制它们。复制搜索索引时,请禁用增量索引和计划索引,并停止其他作业。当重建或修改索引时复制失败。
  • 不要同时运行多个复制过程。
  • 限制有权执行数据复制的用户数。
  • 将静态内容存储在文件夹结构中,该文件夹结构不允许在同一文件夹中包含超过1,000个文件。如果您在一个文件夹中存储的文件数超过1,000,即使没有更改文件,访问和复制的时间也会大大增加。
  • 尽可能复制现有的复制过程,而不是从头开始创建新过程。
  • 不要在生产实例上直接编辑盒带路径或代码。这可能会导致意外行为,例如页面的多个版本。始终将代码和首选项从登台复制到生产中。

回滚复制

有时您必须撤消复制。您可以通过将复制类型设置为“撤消”来再次运行相同的复制来执行此操作。这会将目标实例还原到其先前的状态。但是,您只能回滚最新数据或代码复制。

数据和代码复制不会影响彼此的回滚。例如,如果先运行数据复制,然后运行代码复制,则仍然可以撤消两个复制。

下一步

在本单元中,Linda了解了哪些实例用于代码和数据复制。她了解了页面缓存的含义,最佳实践以及如何回滚复制。接下来,她配置并运行数据复制。

发表回复