Modalità di ridimensionamento del poller di eventi in Lambda - 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à.

Modalità di ridimensionamento del poller di eventi in Lambda

Puoi scegliere tra due modalità di ridimensionamento dei poller degli eventi per la mappatura delle sorgenti degli eventi Kafka:

Modalità On-demand (impostazione predefinita)

Quando si crea inizialmente un'origine eventi Amazon MSK, Lambda assegna un numero predefinito di poller di eventi per elaborare tutte le partizioni dell'argomento Kafka. Lambda aumenta o riduce automaticamente il numero di sondaggi di eventi in base al caricamento dei messaggi.

In un intervallo di un minuto, Lambda valuta il ritardo dell'offset di tutte le partizioni dell'argomento. Se il ritardo dell'offset è troppo alto, lo shard sta ricevendo messaggi più velocemente di quanto Lambda possa elaborarli. Se necessario, Lambda aggiunge o rimuove i poller di eventi dall'argomento. Questo processo di dimensionamento automatico di aggiunta o rimozione dei poller degli eventi avviene entro tre minuti dalla valutazione.

Se la funzione Lambda di destinazione è limitata, Lambda riduce il numero di poller di eventi. Questa operazione riduce il carico di lavoro sulla funzione riducendo il numero di messaggi che i poller di eventi possono recuperare e inviare alla funzione.

Modalità provisioning

Per i carichi di lavoro in cui è necessario ottimizzare il throughput dello strumento di mappatura dell'origine degli eventi, è possibile utilizzare la modalità provisioning. In modalità provisioning, vengono definiti i limiti minimi e massimi per la quantità di poller di eventi assegnati. Questi poller di eventi con provisioning sono dedicati allo strumento di mappatura dell'origine degli eventi e possono gestire picchi di messaggi imprevisti tramite un dimensionamento automatico reattivo. Ti consigliamo di utilizzare la modalità provisioning per i carichi di lavoro Kafka che hanno requisiti di prestazioni rigorosi.

In Lambda, un event poller è un'unità di calcolo in grado di gestire fino al 5% del throughput. MBps Come riferimento, supponiamo che l'origine eventi produca un payload medio di 1 MB e che la durata media della funzione sia di 1 secondo. Se il payload non subisce alcuna trasformazione (ad esempio il filtraggio), un singolo poller può supportare 5 MBps velocità effettiva e 5 invocazioni Lambda simultanee. L'utilizzo della modalità provisioning comporta costi aggiuntivi. Per le stime dei prezzi, consulta Prezzi di AWS Lambda.

In modalità provisioning, l'intervallo di valori accettati per il numero minimo di poller di event (MinimumPollers) è compreso tra 1 e 200, inclusi. L'intervallo di valori accettati per il numero massimo di poller di eventi (MaximumPollers) è compreso tra 1 e 2.000, inclusi. MaximumPollers deve essere maggiore o uguale a MinimumPollers. Inoltre, per mantenere l'elaborazione ordinata all'interno delle partizioni, Lambda limita a MaximumPollers il numero di partizioni indicato nell'argomento.

Per ulteriori informazioni sulla scelta dei valori minimi e massimi appropriati di poller di eventi, consulta Best practice e considerazioni sull'utilizzo della modalità provisioning.

È possibile configurare la modalità fornita per lo strumento di mappatura dell'origine degli eventi Amazon MSK utilizzando la console o l'API Lambda.

Per configurare la modalità provisioning per uno strumento di mappatura dell'origine degli eventi Amazon MSK esistente (console)
  1. Aprire la pagina Funzioni della console Lambda.

  2. Scegli la funzione con lo strumento di mappatura dell'origine degli eventi Amazon MSK per cui desideri configurare la modalità provisioning.

  3. Scegli la scheda Configurazione, quindi scegli Trigger.

  4. Scegli lo strumento di mappatura dell'origine degli eventi Amazon MSK per cui desideri configurare la modalità provisioning, quindi scegli Modifica.

  5. In Configurazione dello strumento di mappatura dell'origine degli eventi, scegli Configura la modalità provisioning.

    • Per Numero minimo di poller di eventi, inserisci un valore compreso tra 1 e 200. Se non si specifica un valore, Lambda assegna il valore predefinito 1.

    • Per Numero massimo di poller di eventi, inserisci un valore compreso tra 1 e 2.000. Questo valore deve essere maggiore o uguale al valore specificato in Numero minimo di poller di eventi. Se non si specifica un valore, Lambda assegna il valore predefinito 200.

  6. Scegli Save (Salva).

È possibile configurare la modalità di provisioning a livello di codice utilizzando l'oggetto presente in. ProvisionedPollerConfig EventSourceMappingConfiguration Ad esempio, il seguente comando UpdateEventSourceMappingCLI configura un MinimumPollers valore di 5 e un MaximumPollers valore di 100.

aws lambda update-event-source-mapping \ --uuid a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --provisioned-poller-config '{"MinimumPollers": 5, "MaximumPollers": 100}'

Dopo aver configurato la modalità provisioning, puoi osservare l'utilizzo dei poller di eventi per il tuo carico di lavoro monitorando il parametro ProvisionedPollers. Per ulteriori informazioni, consulta Parametri dello strumento di mappatura dell'origine degli eventi.

Per disabilitare la modalità provisioning e tornare alla modalità predefinita (su richiesta), puoi utilizzare il seguente comando CLI UpdateEventSourceMapping:

aws lambda update-event-source-mapping \ --uuid a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --provisioned-poller-config '{}'

Best practice e considerazioni sull'utilizzo della modalità provisioning

La configurazione ottimale dei poller di eventi minimi e massimi per lo strumento di mappatura dell'origine degli eventi dipende dai requisiti delle prestazioni dell'applicazione. Ti consigliamo di iniziare con i poller di eventi minimi di default per definire il profilo delle prestazioni. Modifica la configurazione in base ai modelli di elaborazione dei messaggi osservati e al profilo delle prestazioni desiderato.

Per carichi di lavoro con picchi di traffico e requisiti delle prestazioni rigorosi, aumenta il numero minimo di poller di eventi per gestire picchi improvvisi di messaggi. Per determinare i poller di eventi minimi richiesti, considera i messaggi al secondo del carico di lavoro e la dimensione media del payload e utilizza la capacità di throughput di un singolo event poller (fino a 5) come riferimento. MBps

Per mantenere l'elaborazione ordinata all'interno di uno shard, Lambda limita il numero massimo di poller di eventi al numero di shard nell'argomento. Inoltre, il numero massimo di poller di eventi a cui lo strumento di mappatura dell'origine degli eventi può scalare dipende dalle impostazioni di simultaneità della funzione.

Quando attivi la modalità provisioned, aggiorna le impostazioni di rete per rimuovere gli endpoint AWS PrivateLink VPC e le autorizzazioni associate.