I sottoscrittori push sono un tipo di sottoscrittore Pub/Sub in cui i messaggi vengono inviati da Pub/Sub a un endpoint HTTPS specificato dall'utente. L'utente conferma un messaggio inviato restituendo una risposta HTTP 200 alla richiesta del server push. Questo documento fornisce alcuni suggerimenti comuni per la risoluzione dei problemi relativi alle sottoscrizioni push di Pub/Sub. Per ulteriori informazioni sulle sottoscrizioni push, consulta la guida per gli abbonati push.
Per monitorare efficacemente l'abbonamento Pub/Sub, ti consigliamo di esaminare prima il punteggio di integrità della latenza di recapito (subscription/delivery_latency_health_score
) per verificare quali fattori potrebbero contribuire a una latenza imprevista.
Endpoint push non riusciti o lenti
Se l'endpoint restituisce un codice di risposta di errore, l'invio del messaggio viene considerato non riuscito e viene riprovato in un secondo momento. Questo può causare la ricezione di messaggi duplicati da parte dell'endpoint.
Esistono diverse metriche che puoi utilizzare per monitorare le sottoscrizioni push. La metrica subscription/push_request_count
in Cloud Metrics classifica le risposte dell'endpoint push in base a response_code
e response_class
. Le risposte sono utili per identificare potenziali malfunzionamenti dell'endpoint. Se questa metrica presenta dati con un valore response_class
diverso da ack
, significa che l'endpoint push sta restituendo errori a Pub/Sub. Alcuni degli errori più comuni sono:
Una classe di risposta
deadline_exceeded
indica che l'endpoint push non ha risposto entro la scadenza di conferma (ack) richiesta. La metricasubscription/push_request_latencies
consente di monitorare la latenza di ACK push.Una classe di risposta
invalid
indica che l'endpoint ha restituito una risposta che Pub/Sub non è stato in grado di comprendere o elaborare correttamente.Una classe di risposta
remote_server_4xx
di solito indica problemi di autenticazione o autorizzazione. Si tratta di codici di risposta HTTP restituiti dall'endpoint, quindi esamina gli scenari in cui viene restituito questo codice di risposta. Se l'autenticazione è attivata, verifica che il tuo account disponga dell'autorizzazione corretta per l'endpoint. Scopri di più su come funziona l'autenticazione nelle iscrizioni push.Una classe di risposta
remote_server_5xx
indica un problema lato server dell'endpoint. L'endpoint non è in grado di elaborare la richiesta. Ciò potrebbe essere dovuto a un'interruzione o a una manutenzione in corso. Controlla lo stato del server che ospita l'endpoint.Una classe di risposta
unreachable
indica che il server endpoint non è raggiungibile. Verifica che l'URL dell'endpoint non contenga errori di battitura.
Scopri di più sui codici di errore più comuni dell'API Pub/Sub.
Restrizioni agli abbonamenti push all'interno di un perimetro VPC-SC
Se la protezione dei Controlli di servizio VPC (VPC-SC) è abilitata in un progetto, esistono limitazioni relative alla creazione di sottoscrizioni push. Le sottoscrizioni push esistenti continuano a funzionare, ma quando ne crei una nuova viene visualizzato l'errore: Request is prohibited by organization's policy
. Nello specifico, i nuovi abbonamenti push possono essere creati solo se l'endpoint push è un servizio Cloud Run che utilizza l'URL run.app
predefinito. Per ulteriori dettagli e limitazioni specifiche, consulta la documentazione di Pub/Sub e la documentazione di VPC-SC.