Caso d’uso: limitare la velocità effettiva con origini dati esterne e azioni personalizzate limit-throughput

In questa pagina: Scopri come limitare l’elaborazione del percorso con azioni personalizzate e origini dati esterne in modo che i sistemi esterni non vengano sovraccaricati oltre il numero di richieste al secondo supportato.

Utilizzare questo caso d’uso per limitare l’elaborazione del percorso quando i sistemi esterni devono gestire un numero massimo di richieste al secondo.

Descrizione del caso d’uso

Adobe Journey Optimizer consente ai professionisti di inviare chiamate API a sistemi esterni tramite l’utilizzo di azioni personalizzate e origini dati.

Questa operazione può essere eseguita con:

  • Origini dati: per raccogliere informazioni da sistemi esterni e utilizzarle nel contesto del percorso, ad esempio per ottenere informazioni meteo sulla città del profilo e disporre di un flusso di percorso dedicato basato su tale città.

  • Azioni personalizzate: per inviare informazioni a sistemi esterni, ad esempio per inviare e-mail tramite una soluzione esterna utilizzando le funzionalità di orchestrazione di Journey Optimizer insieme a informazioni di profilo, dati sul pubblico e contesto di percorso.

NOTE
Poiché le risposte sono ora supportate, per i casi d’uso relativi a origini dati esterne devi utilizzare azioni personalizzate anziché origini dati. Per ulteriori informazioni sulle risposte, consulta questa sezione

Se utilizzi origini dati esterne o azioni personalizzate, puoi proteggere i sistemi esterni limitando la velocità effettiva del percorso: fino a 5.000 istanze/secondo per i percorsi unitari e fino a 20.000 istanze/secondo per quelli attivati dal pubblico. Ulteriori informazioni sulle velocità di elaborazione e la velocità effettiva del percorso in questa sezione.

Per le azioni personalizzate, sono disponibili funzionalità di limitazione a livello di prodotto. Consulta questa pagina.

Per le origini dati esterne, puoi definire un limite a livello di endpoint per evitare di sopraffare tali sistemi esterni tramite le API di limitazione di utilizzo di Journey Optimizer. Tuttavia, tutte le richieste rimanenti dopo il raggiungimento del limite verranno ignorate. In questa sezione troverai delle soluzioni alternative che puoi utilizzare per ottimizzare la velocità effettiva.

Per ulteriori informazioni su come eseguire l’integrazione con i sistemi esterni, consulta questa pagina.

Implementazione

Per percorsi attivati dal pubblico, puoi definire la velocità di lettura dell’attività Read Audience che influirà sulla velocità effettiva del percorso. Ulteriori informazioni

NOTE
Questo è il numero massimo di profili che possono entrare nel percorso al secondo. Questo tasso si applica solo a questa attività e non ad altre nel percorso. Ulteriori informazioni

Pannello di configurazione velocità effettiva limite con impostazioni di limitazione della velocità

Potete modificare questo valore da 500 a 20.000 istanze al secondo. Se devi andare al di sotto di 500/s, puoi anche aggiungere condizioni di “suddivisione percentuale” con attività di attesa per suddividere il percorso in più rami e farli eseguire in un momento specifico.

Percorso con attività throughput limitata che controlla la velocità di consegna dei messaggi

Prendiamo ad esempio un percorso attivato dal pubblico che lavora con una popolazione di 10.000 profili e invia dati a un sistema esterno che supporta 100 richieste/secondo.

  1. Puoi definire il pubblico di lettura per leggere i profili con una velocità effettiva di 500 profili/secondo, il che significa che occorreranno 20 secondi per leggere tutti i profili. Al secondo 1, ne leggerete 500, al secondo 2 500, ecc.

  2. Puoi quindi aggiungere un’attività Condizione “suddivisione percentuale” con una suddivisione del 20% in modo da avere a ogni secondo 100 profili in ogni ramo.

  3. Dopodiché, aggiungi le attività Attendi con un timer specifico in ciascun ramo. Abbiamo impostato un’attesa di 30 secondi per ciascuno di essi. Ogni secondo, 100 profili confluiranno in ogni ramo.

    • Nel ramo 1, attenderanno 30 secondi, il che significa che:

      • il secondo 1, 100 profili attenderanno il secondo 31
      • al secondo 2, 100 profili attenderanno il secondo 32, ecc.
    • Nel ramo 2, attenderanno 60 secondi, il che significa che:

      • Al secondo 1, 100 profili attenderanno il secondo 61 (1’01’')
      • Al secondo 2, 100 profili attenderanno il secondo 62 (1’02’'), ecc.
    • Sapendo che ci aspettiamo un massimo di 20 secondi per leggere tutti i profili, non ci sarà alcuna sovrapposizione tra ciascun ramo, il secondo 20 è l’ultimo in cui i profili confluiranno nella condizione. Tra il secondo 31 e il secondo 51, verranno elaborati tutti i profili nel ramo 1. Tra il secondo 61 (1’01’‘) e il secondo 81 (1’21’'), verranno elaborati tutti i profili nel ramo 2, ecc.

    • Come guardrail, puoi anche aggiungere un sesto ramo per avere meno di 100 profili per ramo, soprattutto se il sistema esterno supporta solo 100 richieste/secondo.

IMPORTANT
Come per qualsiasi soluzione alternativa, eseguire il test completo della soluzione prima di passare alla fase di produzione per assicurarsi che esegua le operazioni desiderate.

Come guardrail aggiuntivo, puoi anche utilizzare le funzionalità di limitazione.

NOTE
A differenza delle funzionalità di limitazione, che proteggono un endpoint come globale per tutti i percorsi di una sandbox, questa soluzione alternativa funziona solo a livello di percorso. Ciò significa che se più percorsi vengono eseguiti in parallelo e hanno come destinazione lo stesso endpoint, dovrai tenerne conto durante la progettazione del percorso. Questa soluzione alternativa non è quindi adatta a ogni caso d’uso.
AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page explains how to limit journey throughput when external data sources or custom actions have a capped number of requests per second, using Read Audience rate configuration, percentage splits, and wait activities.

Intents:

  • Limit the throughput of an audience-triggered journey to protect an external system from being overwhelmed
  • Configure the reading rate of a Read Audience activity to control how many profiles enter per second
  • Combine percentage split conditions and wait activities to spread profile processing over time
  • Understand the difference between journey-level throughput workarounds and sandbox-level capping capabilities
  • Apply capping capabilities to custom actions at the product level

Glossary:

  • Throttling / throughput limiting: Controlling the rate at which profiles flow through a journey to avoid exceeding the request capacity of an external system. (product-specific)
  • Read Audience reading rate: A configurable parameter on the Read Audience activity that sets the maximum number of profiles entering the journey per second (range: 500–20,000 instances/second). (product-specific)
  • Capping API: A Journey Optimizer API that defines a maximum request limit per endpoint for external data sources; requests beyond the cap are dropped. (product-specific)
  • Percentage split condition: A condition activity that divides the profile flow into branches by percentage, used here to distribute profiles across time-staggered wait paths. (product-specific)

Guardrails:

  • Read Audience reading rate can be set between 500 and 20,000 instances per second; values below 500/s require a workaround using percentage splits and wait activities
  • Unitary journeys support up to 5,000 instances/second; audience-triggered journeys support up to 20,000 instances/second
  • The percentage-split + wait workaround operates only at journey level, not across all journeys in the sandbox
  • When multiple journeys target the same external endpoint in parallel, this workaround does not account for the combined load — capping capabilities should be used instead
  • Remaining requests that exceed the capping limit on external data sources are dropped, not queued
  • The workaround must be thoroughly tested before going to production

Terminology:

  • Canonical name: Throughput limiting — Acronym: none — variants: throttling, rate limiting, journey throughput control
  • Synonyms: “Capping” = “throttling” in the context of external endpoint protection
  • Do not confuse: “Capping API (endpoint-level)” ≠ “reading rate (journey-level)” — The Capping API applies globally to all journeys in a sandbox targeting an endpoint; the reading rate and split/wait workaround apply only to the individual journey

FAQ:

  • Q: What is the maximum reading rate I can set on a Read Audience activity? — Between 500 and 20,000 profiles per second; to go below 500/s, use a percentage split with wait activities.
  • Q: How do percentage splits and wait activities help limit throughput? — By splitting profiles into branches (e.g., 20% each) and adding staggered wait timers per branch, you ensure that only a controlled number of profiles reach the external system per second.
  • Q: Does the percentage-split workaround protect all journeys targeting the same endpoint? — No; it only works at the individual journey level. If multiple journeys run in parallel against the same endpoint, use sandbox-level Capping capabilities instead.
  • Q: What happens to requests that exceed the capping limit on an external data source? — They are dropped; the Capping API does not queue excess requests.
  • Q: Should I use custom actions or data sources for external data use cases? — Custom actions are preferred because they support response handling; data sources should be used only when the use case specifically requires them.
recommendation-more-help
journey-optimizer-help