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 tramite push 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 in modo efficace la sottoscrizione Pub/Sub, ti consigliamo di controllare prima il punteggio di integrità della latenza di pubblicazione (subscription/delivery_latency_health_score
) per verificare quali fattori potrebbero contribuire a una latenza imprevista.
Endpoint con errori o push lenti
Se l'endpoint restituisce un codice di risposta di errore, la consegna del messaggio viene considerata non riuscita e verrà riprovata 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 degli 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 includono:
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 inviato una risposta che Pub/Sub non è riuscito a 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 guarda gli scenari in cui viene restituito questo codice di risposta. Se l'autenticazione è abilitata, verifica che il tuo account abbia l'autorizzazione corretta sull'endpoint. Scopri di più su come funziona l'autenticazione nelle sottoscrizioni push.Una classe di risposta
remote_server_5xx
indica un problema lato server lato 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 non è possibile raggiungere il server endpoint. Verifica che l'URL dell'endpoint non contenga errori di battitura.
Scopri di più sui codici di errore più comuni dell'API Pub/Sub.
Limitazioni relative alle sottoscrizioni 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, le nuove sottoscrizioni push possono essere create 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.