Questo documento descrive come risolvere i problemi di coerenza, i ritardi di replica e il comportamento delle metriche delle quote quando si eseguono query sulle risorse globali tramite gli endpoint API delle visualizzazioni regionali di Compute Engine. Per saperne di più sugli endpoint di sola lettura regionalizzati, consulta Visualizzazioni regionali delle risorse globali.
Ritardi di replica o risorse mancanti
Quando esegui query sugli endpoint dei metadati regionali, potresti notare che le risorse globali appena create o i campi dei metadati aggiornati di recente non vengono visualizzati immediatamente nelle risposte regionali.
Le API delle visualizzazioni regionali gestiscono le richieste di lettura eseguendo query su una replica di sola lettura regionale del database globale centrale. Gli aggiornamenti apportati alle risorse globali principali utilizzando gli endpoint globali standard vengono replicati in modo asincrono in queste repliche regionali.
Questa replica asincrona significa che le visualizzazioni regionali sono a coerenza finale. La latenza di replica P99 dal database globale centrale alle repliche regionali è in genere inferiore a 60 secondi.
Soluzione: per risolvere il problema, prova una delle seguenti soluzioni:
- Attendi la replica: la maggior parte degli aggiornamenti di replica viene completata entro 60 secondi. Se uno script automatico o un carico di lavoro client esegue query su una risorsa appena creata, assicurati che il client implementi la logica di ripetizione con backoff esponenziale.
- Comprendi il fallback trasparente: se una richiesta
GETesplicita per un ID risorsa specifico destinato a una replica regionale genera un fallimento della cache, Compute Engine tenta automaticamente una lettura di fallback nel database globale centrale all'interno della stessa transazione. - Esegui query sugli endpoint globali per una coerenza elevata: se la pipeline di deployment richiede rigorosamente una coerenza immediata di lettura dopo scrittura senza latenza di replica, esegui query direttamente sugli endpoint globali canonici anziché sulle visualizzazioni regionali. Ad esempio, esegui query su
projects.get,images.getoimages.list.
Risposte 404 Not Found
Potresti ricevere un codice di stato HTTP 404 Not Found quando tenti di recuperare un'immagine o una visualizzazione del progetto specifica.
Un errore 404 Not Found può verificarsi per i seguenti motivi:
- La risorsa di destinazione non esiste nel database globale centrale.
- La risorsa di destinazione è stata creata negli ultimi secondi, la replica nella replica regionale non è stata completata e la richiesta di fallback trasparente al database globale centrale ha raggiunto il timeout o non è riuscita.
- Hai specificato un parametro della regione o un ID progetto non valido nell'URL della richiesta.
Soluzione: per risolvere il problema, prova a eseguire le seguenti operazioni:
- Verifica che la risorsa richiesta esista a livello globale eseguendo una richiesta
globale
describeolist, ad esempiogcloud compute images describe IMAGE_NAMEogcloud compute project-info describe --project=PROJECT_ID. - Ispeziona il percorso dell'URL della richiesta per assicurarti che la stringa
REGIONdi destinazione sia valida e attiva. - Se la risorsa è stata creata di recente, riprova a inviare la richiesta dopo 60 secondi.
Array quota mancante nelle risposte projectViews
Quando esegui query su una risorsa compute.Project utilizzando gli endpoint projectViews.get regionali, l'array quota viene escluso dalla risposta.
Per mantenere l'isolamento degli errori regionali e l'alta affidabilità, l'endpoint projectViews legge rigorosamente dalla relativa replica regionale. Poiché non esegue fanout tra regioni per raccogliere l'utilizzo delle quote tra le zone, l'array quota viene escluso.
Soluzione: per risolvere il problema, segui questi passaggi:
- Assicurati che le tue applicazioni non si aspettino l'array
quotanelle risposte restituite dagli endpointprojectViewsregionali. - Per recuperare la configurazione delle quote accurate e le metriche di utilizzo in tempo reale in tutte le regioni e le zone, esegui query sull'endpoint
projects.getglobale o monitora le metriche delle quote API Compute Engine in Cloud Monitoring.
Passaggi successivi
- Consulta Utilizzare le visualizzazioni regionali per letture resilienti del control plane.
- Scopri come accedere alle risorse globali a livello regionale per l'alta affidabilità.