Concetti fondamentali di Runtime Configurator

Questo documento fornisce una panoramica della funzionalità Runtime Configurator e descrive i concetti chiave correlati a Runtime Configurator. Per scoprire come creare una risorsa RuntimeConfig, leggi Creazione ed eliminazione delle risorse RuntimeConfig.

Che cos'è Runtime Configurator?

La funzionalità Runtime Configurator consente di definire e archiviare i dati come una gerarchia di coppie chiave-valore in Google Cloud Platform. Puoi utilizzare queste coppie chiave-valore per:

  • Configurare dinamicamente i servizi
  • Comunicare gli stati del servizio
  • Inviare una notifica delle modifiche ai dati
  • Condividere informazioni tra più livelli di servizi

Ad esempio, immagina uno scenario in cui hai un cluster di nodi che esegue una procedura di avvio. Durante l'avvio, puoi configurare i nodi in modo che segnalino il loro stato a Runtime Configurator, quindi fare in modo che un'altra applicazione interroghi Runtime Configurator ed esegua attività specifiche in base allo stato dei nodi.

Runtime Configurator offre anche un servizio Watcher e un servizio Waiter. Il servizio Watcher monitora una coppia di chiavi specifica e restituisce un valore quando la coppia di chiavi cambia, mentre il servizio Waiter attende una condizione di fine specifica e restituisce una risposta una volta soddisfatta la condizione di fine.

Utilizzi Runtime Configurator tramite gcloud CLI o come API autonoma.

Concetti

  • Risorsa di configurazione

    Una risorsa Config contiene un elenco gerarchico di variabili. Puoi creare configurazioni diverse per scopi diversi. Ad esempio, puoi separare le configurazioni in base all'ambiente (produzione, sviluppo, test), in base a diversi livelli di applicazioni o servizi (backend, frontend) o in base alle entità (una configurazione per utente dell'applicazione).

  • Variabili

    Le variabili sono coppie chiave-valore che appartengono a una risorsa RuntimeConfig. Le chiavi delle variabili hanno il seguente formato:

    projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
    

    Puoi impostare, ottenere e osservare i valori delle variabili per comunicare informazioni alle tue applicazioni, per segnalare uno stato completato, per inviare notifiche di modifiche ai dati e altro ancora. Le variabili sono gerarchiche, quindi la chiave della variabile potrebbe avere più livelli. Ad esempio, le chiavi delle variabili di esempio potrebbero essere:

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • Utenti che seguono

    Puoi utilizzare il metodo watch() per osservare una variabile e tornare quando la variabile cambia, il watcher scade o viene eliminato. Utilizza la funzionalità watch() per configurare dinamicamente le applicazioni in base alle modifiche apportate ai dati.

  • Camerieri

    Se crei una risorsa Waiter per monitorare un prefisso di percorso specifico, Waiter viene restituito quando il numero di variabili nel prefisso raggiunge un determinato importo. Questo è chiamato condizione di cardinalità.

    Ad esempio, se imposti una condizione per il percorso /foo e il numero di percorsi è impostato su 2, la seguente configurazione soddisfa la condizione:

    • /foo/variable1 = "value1"
    • /foo/variable2 = "value2"
    • /bar/variable3 = "value3" # Not /foo path

    Un waiter ha una condizione di errore e una di successo che puoi impostare.

    Dopo aver creato un Waiter, il servizio restituisce un oggetto operazione che interroghi per il completamento. L'operazione viene completata quando si verifica una delle seguenti condizioni:

    • La condizione success è soddisfatta.
    • La condizione failure è soddisfatta.
    • Il waiter ha raggiunto il termine di timeout specificato nella richiesta iniziale.

    L'utilizzo di un waiter è ideale per gli scenari di avvio, in cui potrebbe essere necessario mettere in pausa un deployment finché non è in esecuzione un determinato numero di servizi.

Passaggi successivi