在此页面上:了解如何使用自定义操作和外部数据源限制历程处理,以便外部系统不会超出其支持的每秒请求数。
当外部系统必须处理限定数量的每秒请求时,使用此用例可限制历程处理。
用例描述
Adobe Journey Optimizer允许从业人员通过使用自定义操作和数据源向外部系统发送API调用。
这可以通过以下方式完成:
-
数据源:从外部系统收集信息并在历程上下文中使用它,例如,获取有关个人资料城市的天气信息,并据此创建专用历程流。
-
自定义操作:向外部系统发送信息,例如,使用Journey Optimizer的编排功能以及配置文件信息、受众数据和历程上下文通过外部解决方案发送电子邮件。
如果您使用的是外部数据源或自定义操作,则可能需要通过限制历程吞吐量来保护外部系统:对于单一历程,每秒最多可达5,000个实例;对于受众触发的历程,每秒最多可达20,000个实例。 在本节中了解有关历程处理率和吞吐量的更多信息。
对于自定义操作,可在产品级别使用限制功能。 请参见此页面。
对于外部数据源,您可以在端点级别定义上限限制,以避免通过Journey Optimizer的上限API淹没这些外部系统。 但是,将丢弃达到限制后剩余的所有请求。 在此部分中,您将找到可用于优化吞吐量的解决方法。
有关如何与外部系统集成的更多信息,请参阅此页面。
实施
对于受众触发的历程,您可以定义将影响历程吞吐量的读取受众活动的读取率。 了解详情
您可以将此值从每秒500个实例修改为每秒20 000个实例。 如果您需要低于500/s,您还可以添加包含等待活动的“百分比拆分”条件,将您的历程拆分为多个分支,并在特定时间执行这些分支。
我们以 受众触发的历程 为例,该历程使用 10,000个用户档案 的群体,并向支持 100个请求/秒 的外部系统发送数据。
-
您可以定义读取受众以读取吞吐量为500个配置文件/秒的配置文件,这意味着读取所有配置文件将需要20秒。 在第二个1,您将阅读其中500篇内容,在第二个2,500多篇内容中,依此类推。
-
然后,您可以添加“百分比拆分”条件活动,按20%进行拆分,以使每个分支中每秒有100个用户档案。
-
之后,在每个分支中添加具有特定计时器的等待活动。 这里我们设定了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个请求/秒时。
-
作为额外的护栏,您还可以使用上限功能。
本节包含结构化知识,用于支持与本主题相关的解释、检索和问答。
要全面了解相关信息,应将此信息与本页上的文档相结合。 这两个源都不是独立的;页面描述了功能,而本节提供了其他上下文来帮助消除术语、意图、适用性和约束条件的歧义。
- 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不会将过多的请求排入队列。
- 问:对于外部数据用例,我应该使用自定义操作还是数据源? — 首选自定义操作,因为它们支持响应处理;仅当用例特别需要数据源时才应使用数据源。