与外部系统集成 external-systems
本页介绍Journey Optimizer在集成外部系统时提供的各种护栏以及最佳实践:如何使用上限API优化外部系统的保护、如何配置历程超时以及重试的工作方式。
借助 Journey Optimizer,您可以通过自定义数据源和自定义操作配置与外部系统的连接。例如,您可以使用来自外部预订系统的数据扩充您的历程,或使用第三方系统(如Epsilon或Facebook)发送消息。
在集成外部系统时,可能会遇到几个问题:系统可能变慢、停止响应,或者可能无法处理较大的卷。 Journey Optimizer提供了多个护栏以保护您的系统免受过载。
所有外部系统在性能方面均不同。 您需要根据用例调整配置。
当Journey Optimizer执行对外部API的调用时,技术护栏将按如下方式执行:
-
应用上限或限制规则:如果达到最大速率,剩余呼叫将被丢弃或排队。
-
超时并重试:如果达到上限或限制规则,Journey Optimizer将尝试执行调用,直到达到超时持续时间结束。
cacheDuration设置之间至少保留一分钟的缓冲区,特别是在工作负载较重的情况下,以避免过期不匹配和401错误。API上限和限制 capping
关于上限和限制API
在配置数据源或操作时,您需要建立与系统的连接,以检索要在历程中使用的其他信息,或者发送消息或 API 调用。
历程 API 支持每秒最多 5,000 个事件,但某些外部系统或 API 的吞吐量可能不同。要防止这些系统过载,您可以使用 上限 和限制 API来限制每秒发送的事件数。
每次按历程执行 API 调用时,它都会通过 API 引擎。如果达到API中设置的限制,则会在使用上限API时拒绝调用,或者排队长达6个小时,然后按照在使用限制API时收到的顺序尽快处理调用。
例如,假设您为外部系统定义了每秒200次调用的上限或限制规则。 在 10 个不同历程中,系统由自定义操作调用。如果一个历程每秒收到 300 个调用,则将使用 200 个可用的位置,并丢弃剩余的 100 个调用或将它们排入队列。由于超出了最大使用率,因此其他 9 个历程将没有任何位置。此粒度有助于避免使外部系统出现过载和崩溃。
有关如何使用API的更多信息,请参阅以下章节:
Adobe Journey Optimizer API文档中提供了API的详细说明
数据源和自定义操作容量 capacity
对于外部数据源,每秒的最大调用数限制为 15。如果超出此限制,则会根据所使用的 API,丢弃或排入任何其他调用。联系 Adobe 以将端点包含在允许列表中,这样可以增加专用外部数据源的此限制,但对于公共外部数据源不可以这样操作。* 了解如何配置数据源。
对于自定义操作,您需要评估外部 API 的容量。例如,如果Journey Optimizer每秒发送1000次调用,而您的系统仅支持每秒200次调用,则您需要定义上限或限制配置,以便您的系统不会饱和。 了解如何配置操作
响应缓慢的端点 response-time
当端点的响应时间大于0.75秒时,其自定义操作调用通过专用的 慢速自定义操作服务 而不是默认服务进行路由。
此自定义操作缓慢服务每30秒应用150,000次调用的上限限制。 该限制使用滑动窗口执行,滑动窗口可在该30秒周期内的任何毫秒内开始。 窗口一旦满,则会拒绝其他调用,并出现上限错误。 系统不会等待下一个固定间隔,而是在达到30秒阈值后立即开始设置上限。
由于慢速端点可能会导致管道中所有排队操作出现延迟,因此建议不要为自定义操作配置响应速度较慢的端点。 将此类操作路由到慢速服务有助于保护整体系统性能,并防止其他自定义操作增加延迟。
超时和重试 timeout
如果满足上限或限制规则,则应用超时规则。
在每个历程中,您可以定义超时持续时间。 这允许您在调用外部系统时设置最大持续时间。 超时持续时间在历程的属性中配置。 请参见此页面。
此超时对于所有外部调用(自定义操作和自定义数据源中的外部API调用)都是全局的。 默认情况下,设置为30秒。
在定义的超时持续时间内,Journey Optimizer会尝试调用外部系统。 在第一次调用后,最多可以执行三次重试,直到达到超时持续时间结束为止。 无法更改重试次数。
每次重试使用一个插槽。 如果您的限制为每秒100次调用,并且每个调用需要重试两次,则速率降至每秒30次调用(每个调用使用3个插槽:第一次调用和两次重试)。
超时持续时间值取决于用例。 如果您希望快速发送消息(例如,在客户端进入商店时),则您不希望设置较长的超时。 此外,超时时间越长,放入队列中的项目就越多。 这会极大地影响性能。 如果Journey Optimizer每秒执行1000次调用,则保留5秒或15秒的数据会迅速让系统不堪重负。
我们以5秒的超时为例。
-
第一个调用持续少于5秒:调用成功,不执行重试。
-
第一个调用持续的时间更长5秒:调用被取消并且不会重试。 在报表中将被计为超时错误。
-
第一次调用在2秒后失败(外部系统返回错误):如果存在上限插槽,则重试时间还剩3秒。
- 如果在5秒结束前三次重试均成功,则会执行调用,且不会出现任何错误。
- 如果在重试期间到达超时时长的结尾,则调用会被取消,并在报表中计为超时错误。
常见问题 faq
您将找到下面有关将Journey Optimizer与外部系统集成的常见问题解答。
需要更多信息?使用本页底部的反馈选项提出问题,或通过 Adobe Journey Optimizer 社区进行联系。
启用IP代理并在目标端点上定义限制配置后,连接数基于速率(这些是估计值,不保证数量):
- 200至2000年c/s:50个连接
- 2000至3000年:75次连接
- 3000到4000之间:100个连接
- 4000至5000之间:125次连接
如果端点上未定义限制配置,则Journey Optimizer的引擎将设计为按比例放大,并且可能会获得大量连接(超过2,000个)。 为了获得有限数量的连接,客户需要使用限制配置。