用例:使用外部数据源和自定义操作限制吞吐量 limit-throughput

在此页面上:​了解如何使用自定义操作和外部数据源限制历程处理,以便外部系统不会超出其支持的每秒请求数。

当外部系统必须处理限定数量的每秒请求时,使用此用例可限制历程处理。

用例描述

Adobe Journey Optimizer允许从业人员通过使用自定义操作和数据源向外部系统发送API调用。

这可以通过以下方式完成:

  • 数据源:从外部系统收集信息并在历程上下文中使用它,例如,获取有关个人资料城市的天气信息,并据此创建专用历程流。

  • 自定义操作:向外部系统发送信息,例如,使用Journey Optimizer的编排功能以及配置文件信息、受众数据和历程上下文通过外部解决方案发送电子邮件。

NOTE
由于现在支持响应,因此您应该对外部数据源用例使用自定义操作而不是数据源。 有关回应的详细信息,请参阅此部分

如果您使用的是外部数据源或自定义操作,则可能需要通过限制历程吞吐量来保护外部系统:对于单一历程,每秒最多可达5,000个实例;对于受众触发的历程,每秒最多可达20,000个实例。 在本节中了解有关历程处理率和吞吐量的更多信息。

对于自定义操作,可在产品级别使用限制功能。 请参见此页面

对于外部数据源,您可以在端点级别定义上限限制,以避免通过Journey Optimizer的上限API淹没这些外部系统。 但是,将丢弃达到限制后剩余的所有请求。 在此部分中,您将找到可用于优化吞吐量的解决方法。

有关如何与外部系统集成的更多信息,请参阅此页面

实施

对于​受众触发的历程,您可以定义将影响历程吞吐量的读取受众活动的读取率。 了解详情

NOTE
这是每秒可以进入历程的配置文件的最大数量。 此比率仅适用于此活动,不适用于历程中的其他活动。 了解详情

使用速率限制设置限制吞吐量配置面板

您可以将此值从每秒500个实例修改为每秒20 000个实例。 如果您需要低于500/s,您还可以添加包含等待活动的“百分比拆分”条件,将您的历程拆分为多个分支,并在特定时间执行这些分支。

历程具有控制消息投放速率的限制吞吐量活动

我们以​ 受众触发的历程 ​为例,该历程使用​ 10,000个用户档案 ​的群体,并向支持​ 100个请求/秒 ​的外部系统发送数据。

  1. 您可以定义读取受众以读取吞吐量为500个配置文件/秒的配置文件,这意味着读取所有配置文件将需要20秒。 在第二个1,您将阅读其中500篇内容,在第二个2,500多篇内容中,依此类推。

  2. 然后,您可以添加“百分比拆分”条件活动,按20%进行拆分,以使每个分支中每秒有100个用户档案。

  3. 之后,在每个分支中添加具有特定计时器的等待活动。 这里我们设定了30秒的等待时间。 每秒有100个配置文件流入每个分支。

    • 在分支1上,它们将等待30秒,这意味着:

      • 在第1秒,100个配置文件将等待第31秒
      • 在第二个2上,100个配置文件将等待第二个32等。
    • 在分支2上,它们将等待60秒,这意味着:

      • 在第二个1,100个配置文件将等待第二个61 (1’01")
      • 在第二个2,100个配置文件将等待第二个62 (1’02")等。
    • 鉴于我们预计读取所有用户档案的最大时间为20秒,因此每个分支之间不会重叠,第20个分支是最后一个将用户档案流入条件的分支。 在第二个31和第二个51之间,将处理分支1中的所有配置文件。 在第61秒(1’01")和第81秒(1’21")之间,将处理分支2中的所有用户档案等。

    • 作为护栏,您还可以添加第六个分支,使每个分支具有少于100个配置文件,尤其是如果外部系统仅支持100个请求/秒时。

IMPORTANT
与任何解决方法一样,请在进入生产环境之前彻底测试该解决方案,以确保它符合您的要求。

作为额外的护栏,您还可以使用上限功能。

NOTE
与通过对沙盒的所有历程全局保护端点的上限功能不同,此解决方法仅在历程级别起作用。 这意味着,如果多个历程并行运行并定位同一端点,则需要在设计历程时考虑这一点。 因此,此解决方法不适用于每个用例。
AI知识参考

本节包含结构化知识,用于支持与本主题相关的解释、检索和问答。

要全面了解相关信息,应将此信息与本页上的文档相结合。 这两个源都不是独立的;页面描述了功能,而本节提供了其他上下文来帮助消除术语、意图、适用性和约束条件的歧义。

  • TL;DR:​本页介绍如何使用读取受众速率配置、百分比拆分和等待活动,在外部数据源或自定义操作具有每秒请求数上限时限制旅程吞吐量。

意图:

  • 限制受众触发的历程的吞吐量,以防止外部系统不堪重负
  • 配置读取受众活动的读取率,以控制每秒输入的配置文件数
  • 将百分比拆分条件和等待活动组合在一起,以便随时间分布配置文件处理
  • 了解历程级别的吞吐量变通方案与沙盒级别上限功能之间的区别
  • 将上限功能应用于产品级别的自定义操作

术语表:

  • 限制/吞吐量限制:控制配置文件流经历程的速率,以避免超出外部系统的请求容量。 (产品特定)
  • 读取受众读取率:读取受众活动上的可配置参数,用于设置每秒进入历程的最大配置文件数(范围:500-20,000个实例/秒)。 (产品特定)
  • 上限API:为外部数据源定义每个端点的最大请求限制的Journey Optimizer API;超出上限的请求将被丢弃。 (产品特定)
  • 百分比拆分条件:将用户档案流按百分比划分为分支的条件活动,用于在此跨时间交错的等待路径分发用户档案。 (产品特定)

护栏:

  • 读取受众读取率可以设置为每秒500到20,000个实例之间;低于500/s的值需要使用百分比拆分和等待活动来临时处理
  • 单一历程每秒支持最多5,000个实例;受众触发的历程每秒支持最多20,000个实例
  • 百分比拆分+等待解决方法仅在历程级别运行,不适用于沙盒中的所有历程
  • 当多个历程并行定位同一外部端点时,此解决方法不考虑组合负载 — 应改用上限功能
  • 超出外部数据源上限的其余请求将被丢弃,而不是排入队列
  • 在进入生产阶段之前,必须彻底测试解决方法

术语:

  • 规范名称:吞吐量限制 — 缩写:none — 变体:限制、速率限制、历程吞吐量控制
  • 同义词: “Capping” = “throttling”(在外部端点保护上下文中)
  • 请勿混淆:“上限API(端点级别)”≠“读取率(历程级别)” — 上限API全局适用于以端点为目标的沙盒中的所有历程;读取率和拆分/等待解决方法仅适用于单个历程

常见问题解答:

  • 问:我可以对“读取受众”活动设置的最大读取率是多少? — 每秒500到20,000个配置文件;要低于500/秒,请对等待活动使用百分比拆分。
  • 问:百分比拆分和等待活动如何帮助限制吞吐量? — 通过将用户档案拆分为多个分支(例如,每个分支20%)并在每个分支中添加交错的等待计时器,可确保每秒只有受控数量的用户档案到达外部系统。
  • 问:百分比拆分解决方法是否保护定位同一终结点的所有历程? — 否;它仅在个人历程级别起作用。 如果多个历程针对同一端点并行运行,请改用沙盒级别上限功能。
  • 问:超出外部数据源上限的请求会发生什么情况? — 丢弃这些请求;上限API不会将过多的请求排入队列。
  • 问:对于外部数据用例,我应该使用自定义操作还是数据源? — 首选自定义操作,因为它们支持响应处理;仅当用例特别需要数据源时才应使用数据源。
recommendation-more-help
journey-optimizer-help