Best practice per l'utilizzo delle metriche Pub/Sub come indicatore di scalabilità

Se utilizzi le metriche Pub/Sub come indicatore per eseguire il ridimensionamento automatico della pipeline, ecco alcuni suggerimenti.

Utilizza più di un indicatore per eseguire la scalabilità automatica della pipeline

Non utilizzare solo le metriche Pub/Sub per scalare automaticamente la pipeline. Potrebbe portare a scenari in cui hai un single point of failure per le tue decisioni di scalabilità automatica. Utilizza invece una combinazione di indicatori per attivare l'autoscaling. Un esempio di indicatore aggiuntivo è la CPU del client al livello di utilizzo delle applicazioni. Questo indicatore può indicare se le attività client stanno gestendo il lavoro e se l'aumento delle dimensioni può consentire alle attività client di gestire più lavoro. Di seguito sono riportati alcuni esempi di indicatori di altri prodotti Cloud che puoi utilizzare per la tua pipeline:

  • Compute Engine (GCE) supporta la scalabilità automatica in base a indicatori come l'utilizzo della CPU e le metriche di monitoraggio. Compute Engine supporta anche più metriche e più indicatori per una maggiore affidabilità.

    Per ulteriori informazioni sulla scalabilità con le metriche di monitoraggio, consulta Eseguire la scalabilità in base alle metriche di monitoraggio. Per ulteriori informazioni sulla scalabilità in base all'utilizzo della CPU, consulta Eseguire la scalabilità in base all'utilizzo della CPU.

  • La scalabilità automatica orizzontale dei pod (HPA) di Google Kubernetes Engine (GKE) supporta e scalabilità automatica basata sull'uso di risorse come CPU e memoria, le metriche Kubernetes personalizzate e quelle esterne come Monitoraggio delle metriche per Pub/Sub. Supporta anche più indicatori.

    Per maggiori informazioni, consulta Scalabilità automatica orizzontale dei pod.

Come gestire le lacune nelle metriche quando si verificano

Non dare per scontato che l'assenza di metriche indichi che non ci sono messaggi da elaborare. Ad esempio, se in risposta alle metriche mancanti riduci le attività di elaborazione a zero, i messaggi già presenti nel backlog o pubblicati durante questo periodo potrebbero non essere utilizzati. Ciò aumenta la latenza end-to-end. Per ridurre al minimo la latenza, imposta un conteggio minimo delle attività maggiore di zero in modo da essere sempre pronto a gestire i messaggi pubblicati, anche se le metriche Pub/Sub recenti indicano una coda vuota.

Sia i gestori della scalabilità automatica GCE sia gli HPA GKE sono progettati per mantenere il conteggio corrente delle repliche quando le metriche non sono disponibili. Questo fornisce una rete di sicurezza se non sono disponibili metriche.

Puoi anche implementare Meccanismi di controllo del flusso Pub/Sub per evitare che le attività vengano sovraccaricate se sono involontariamente ridotto a causa di metriche mancanti.