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:
-
Abilita la modalità provisioning. Per ulteriori informazioni, consulta Configurazione della modalità provisioning.
-
Imposta il
MaximumBatchingWindowInSeconds
parametro della mappatura della sorgente degli eventi su 0. Per ulteriori informazioni, consulta Comportamento di batching.
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.