与外部系统集成 external-systems

本页介绍Journey Optimizer在集成外部系统时提供的各种护栏以及最佳实践:如何使用上限API优化外部系统的保护、如何配置历程超时以及重试的工作方式。

借助 Journey Optimizer,您可以通过自定义数据源和自定义操作配置与外部系统的连接。例如,您可以使用来自外部预订系统的数据扩充您的历程,或使用第三方系统(如Epsilon或Facebook)发送消息。

在集成外部系统时,可能会遇到几个问题:系统可能变慢、停止响应,或者可能无法处理较大的卷。 Journey Optimizer提供了多个护栏以保护您的系统免受过载。

所有外部系统在性能方面均不同。 您需要根据用例调整配置。

当Journey Optimizer执行对外部API的调用时,技术护栏将按如下方式执行:

  1. 应用上限或限制规则:如果达到最大速率,剩余呼叫将被丢弃或排队。

  2. 超时并重试:如果达到上限或限制规则,Journey Optimizer将尝试执行调用,直到达到超时持续时间结束。

API上限和限制 capping

关于上限和限制API

在配置数据源或操作时,您需要建立与系统的连接,以检索要在历程中使用的其他信息,或者发送消息或 API 调用。

历程 API 支持每秒最多 5000 个事件,但某些外部系统或 API 的吞吐量可能不同。要防止这些系统过载,您可以使用 上限限制 API限制每秒发送的事件数。

每次按历程执行 API 调用时,它都会通过 API 引擎。如果达到API中设置的限制,则会在使用上限API时拒绝调用,或者排队长达6个小时,然后按照在使用限制API时收到的顺序尽快处理调用。

例如,假设您为外部系统定义了每秒 200 次调用的上限或限制规则。在 10 个不同历程中,系统由自定义操作调用。如果一个历程每秒收到 300 个调用,则将使用 200 个可用的位置,并丢弃剩余的 100 个调用或将它们排入队列。由于超出了最大使用率,因此其他 9 个历程将没有任何位置。此粒度有助于避免使外部系统出现过载和崩溃。

IMPORTANT
上限规则 在沙盒级别为特定的端点(调用的URL)配置,但对该沙盒的所有历程进行全局配置。 上限在数据源和自定义操作中均可用。
限制规则 ​仅在生产沙盒上针对特定端点配置,但在全局范围内应用于所有沙盒中的所有历程。每个组织只能有一个限制配置。 限制仅适用于自定义操作。
maxCallsCount 值必须大于1。

有关如何使用API的更多信息,请参阅以下章节:

有关API的详细说明,请参阅 Adobe Journey Optimizer API文档

数据源和自定义操作容量 capacity

对于​ 外部数据源,每秒的最大调用数限制为 15。如果超出此限制,则会根据所使用的 API,丢弃或排入任何其他调用。联系 Adobe 以将端点包含在允许列表中,这样可以增加专用外部数据源的此限制,但对于公共外部数据源不可以这样操作。* 了解如何配置数据源

NOTE
如果数据源使用的自定义身份验证的端点与数据源使用的端点不同,您需要联系 Adobe 以将该端点也包含在允许列表中。

对于​ 自定义操作,您需要评估外部 API 的容量。例如,如果 Journey Optimizer 每秒发送 1000 个调用,而您的系统每秒只能支持 200 个调用,则需要定义上限或限制配置,以便系统不会饱和。了解如何配置操作

超时和重试 timeout

如果满足上限或限制规则,则应用超时规则。

在每个历程中,您可以定义超时持续时间。 这允许您在调用外部系统时设置最大持续时间。 超时持续时间在历程的属性中配置。 请参见此页面

此超时对于所有外部调用(自定义操作和自定义数据源中的外部API调用)都是全局的。 默认情况下,设置为30秒。

在定义的超时持续时间内,Journey Optimizer会尝试调用外部系统。 在第一次调用后,最多可以执行三次重试,直到达到超时持续时间结束为止。 无法更改重试次数。

每次重试使用一个插槽。 如果您的限制为每秒100次调用,并且每个调用需要重试两次,则速率降至每秒30次调用(每个调用使用3个插槽:第一次调用和两次重试)。

超时持续时间值取决于用例。 如果您希望快速发送消息(例如,在客户端进入商店时),则您不希望设置较长的超时。 此外,超时时间越长,放入队列中的项目就越多。 这会极大地影响性能。 如果Journey Optimizer每秒执行1000次调用,则保留5秒或15秒的数据会迅速让系统不堪重负。

我们以5秒的超时为例。

  • 第一个调用持续少于5秒:调用成功,不执行重试。

  • 第一个调用持续的时间更长5秒:调用被取消并且不会重试。 在报表中将被计为超时错误。

  • 第一次调用在2秒后失败(外部系统返回错误):如果存在上限插槽,则重试时间还剩3秒。

    • 如果在5秒结束前三次重试均成功,则会执行调用,且不会出现任何错误。
    • 如果在重试期间到达超时时长的结尾,则调用会被取消,并在报表中计为超时错误。

常见问题解答 faq

如何配置上限或限制规则? 是否存在默认规则?

默认情况下,没有上限或限制规则。 使用上限或限制API,在特定端点(调用的URL)的沙盒级别定义规则。 请参阅此小节

执行多少次重试? 我可以更改重试次数或定义重试之间的最短等待时间吗?

对于给定的调用,在第一次调用后最多可以执行三次重试,直到达到超时持续时间结束为止。 无法更改重试次数和每次重试之间的时间。 请参阅此小节

可在何处配置超时? 是否存在最大值?

在每个历程中,您可以定义超时持续时间。 超时持续时间在历程的属性中配置。 超时持续时间必须介于1秒和30秒之间。 请参阅 本节此页面.

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76