Perché riscontro un elevato ritardo da parte dei consumatori nel mio cluster Amazon MSK?

4 minuti di lettura
0

Desidero risolvere il problema del ritardo dei consumatori nel mio cluster Amazon Managed Streaming for Apache Kafka (Amazon MSK).

Risoluzione

Prerequisito

Esegui il comando seguente per utilizzare i parametri di Amazon CloudWatch per determinare il ritardo dei consumatori:

./kafka-consumer-groups.sh --bootstrap-server <broker endpoints> --group <groupid> --describe --command-config <properties>

Nota: Sostituisci <broker endpoints> con gli endpoint del tuo broker, <groupid> con il tuo ID di gruppo e <properties> con le tue proprietà.

Risolvi i problemi più comuni relativi al ritardo dei consumatori

Verifica il rapporto tra utenti e partizioni: Ogni consumatore di un gruppo di consumatori legge da un sottoinsieme di partizioni in base ai consumatori disponibili nel gruppo. Se ogni utente utilizza più partizioni, potrebbe elaborare grandi quantità di dati e causare un ritardo.

Ove possibile, mantieni il rapporto tra utenti e partizioni vicino a 1:1. Se il ritardo persiste, aumenta il numero di partizioni e utenti.

Identifica il valore anomalo: Un valore anomalo potrebbe causare un ritardo nei consumatori. Verifica se una partizione di consumatori contribuisce in modo significativo di più rispetto alle altre del gruppo di consumatori. Identifica l'origine del problema per applicare la soluzione appropriata. Come ultima opzione, riavviare l'applicazione.

Controlla l'utilizzo delle risorse su consumer host: Monitora le risorse nelle applicazioni consumer per vedere se c'è carenza di risorse. La lentezza dei consumatori comporta una lenta elaborazione dei messaggi e provoca ritardi nei consumatori.

Controlla il riequilibrio del gruppo di consumatori: Durante un ribilanciamento di un gruppo di consumatori, tutte le assegnazioni di partizioni dei consumatori vengono revocate. Di conseguenza, i consumatori smettono di leggere l'argomento e questo crea un aumento del ritardo. Per ulteriori informazioni, vedi Come posso risolvere i problemi relativi al ribilanciamento continuo del mio gruppo di consumatori?

Valuta la configurazione del consumatore: Il ritardo del consumatore può verificarsi quando il produttore scrive più velocemente di quanto il consumatore possa leggere. Per leggere i dati non appena vengono prodotti, regola fetch.min.bytes e fetch.partition.min.bytes nella configurazione consumer. Le proprietà max.poll.interval.ms e max.poll.records possono influire sulla frequenza con cui il consumatore esegue il suo offset e sul numero di messaggi recuperati contemporaneamente. Modifica queste impostazioni per ridurre il ritardo dei consumatori.

Gestisci le dimensioni dei messaggi: Messaggi di grandi dimensioni possono causare ritardi da parte dei consumatori, soprattutto se l'applicazione consumer elabora i messaggi lentamente. Aumenta il numero di istanze consumer per gestire il carico di lavoro.

Esamina il design della tua applicazione: Il design della tua applicazione consumer può influire sul ritardo dei consumatori. Verifica se hai progettato l'applicazione per gestire il volume di messaggi che stai elaborando. Amplia la tua applicazione o ottimizza la logica di elaborazione.

Monitora l'utilizzo delle risorse dei broker: Monitora l'utilizzo della CPU sui broker per verificare se i broker sono sovraccarichi, con conseguente aumento del ritardo. Per ulteriori informazioni sulla risoluzione dei problemi relativi all'utilizzo elevato della CPU, vedi Come posso risolvere i problemi relativi all'utilizzo elevato della CPU su uno o più broker in un cluster Amazon MSK?

Ottimizza il cluster per il carico di lavoro: Verifica che i broker Kafka del tuo cluster MSK siano configurati e ottimizzati per il tuo carico di lavoro. Assicurati che le partizioni tematiche siano distribuite uniformemente tra i tuoi broker. Verificare che il fattore di replica sia impostato in modo appropriato.

Determina la latenza di rete: Un'elevata latenza di rete tra un utente e il cluster MSK può comportare un elevato ritardo da parte dei consumatori. Verifica la connessione di rete tra l'applicazione consumer e il cluster MSK. Se la connessione è lenta, avvicina la tua applicazione consumer ai broker Kafka. Oppure ottimizza la configurazione di rete.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa