Elaborazione a bassa latenza per sorgenti di eventi Kafka - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Elaborazione a bassa latenza per sorgenti di eventi Kafka

AWS Lambda supporta nativamente l'elaborazione di eventi a bassa latenza per applicazioni che richiedono latenze costanti inferiori a 100 millisecondi. end-to-end Questa pagina fornisce dettagli di configurazione e consigli per abilitare flussi di lavoro a bassa latenza.

Abilita l'elaborazione a bassa latenza

Per abilitare l'elaborazione a bassa latenza su una mappatura della sorgente di eventi Kafka, è richiesta la seguente configurazione di base:

Ottimizzazione del tuo Kafka ESM a bassa latenza

Considerate i seguenti consigli per ottimizzare la mappatura delle sorgenti di eventi Kafka per una bassa latenza:

Configurazione della modalità provisioned

Nella modalità provisioning per la mappatura delle sorgenti degli eventi Kafka, Lambda consente di ottimizzare la velocità effettiva della mappatura delle sorgenti degli eventi configurando un numero minimo e massimo di risorse chiamate event poller. Un event poller (o poller) rappresenta una risorsa di calcolo che è alla base di una mappatura delle sorgenti di eventi nella modalità provisioning e alloca fino a 5 velocità effettiva. MB/s Ogni event poller supporta fino a 5 chiamate Lambda simultanee.

Per determinare la configurazione ottimale del poller per la vostra applicazione, tenete conto della velocità di ingestione massima e dei requisiti di elaborazione. Diamo un'occhiata a un esempio semplificato:

Con un batch di 20 record e una durata media della funzione target di 50 ms, ogni poller può gestire 2.000 record al secondo entro un limite di 5. MB/s Viene calcolato come: (20 record × 1000 ms/50 ms) × 5 chiamate Lambda simultanee. Pertanto, se la velocità di ingestione massima desiderata è di 20.000 record al secondo, sono necessari almeno 10 event poller.

Nota

Si consiglia di fornire sondaggi di eventi aggiuntivi come buffer per evitare di operare costantemente alla massima capacità.

La modalità Provisioned ridimensiona automaticamente i poller degli eventi in base ai modelli di traffico all'interno di poller di eventi minimi e massimi configurati, che possono attivare il ribilanciamento e quindi introdurre una latenza aggiuntiva. È possibile disabilitare l'auto-scaling configurando lo stesso valore per il poller di eventi minimo e massimo.

Ulteriori considerazioni

Alcune delle considerazioni aggiuntive includono:

  • L'avvio a freddo dall'invocazione della funzione target Lambda può potenzialmente aumentare la latenza. end-to-end Per ridurre questo rischio, prendi in considerazione la possibilità di abilitare la concorrenza fornita o SnapStartla funzione di destinazione della mappatura dell'origine degli eventi. Inoltre, ottimizza l'allocazione della memoria della funzione per garantire esecuzioni coerenti e ottimali.

  • Quando MaximumBatchingWindowInSeconds è impostato su 0, Lambda elaborerà immediatamente tutti i record disponibili senza attendere di riempire la dimensione completa del batch. Ad esempio, se la dimensione del batch è impostata su 1.000 record ma sono disponibili solo 100 record, Lambda elaborerà tali 100 record immediatamente anziché attendere che si accumulino tutti i 1.000 record.

Importante

La configurazione ottimale per l'elaborazione a bassa latenza varia in modo significativo in base al carico di lavoro specifico. Ti consigliamo vivamente di testare diverse configurazioni con il tuo carico di lavoro effettivo per determinare le impostazioni migliori per il tuo caso d'uso.