Concetti fondamentali di Runtime Configurator

Questo documento fornisce una panoramica della funzionalità Runtime Configurator e descrive i concetti chiave correlati. Per apprendere su 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 gerarchia di coppie chiave-valore in Google Cloud. Puoi utilizzare queste coppie chiave-valore per:

  • Configurare i servizi in modo dinamico
  • 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 eseguono una procedura di avvio. Durante l'avvio, puoi configurare i nodi in modo che segnalino il loro stato a Runtime Configurator, quindi un'altra applicazione può eseguire query su Runtime Configurator ed eseguire attività specifiche in base allo stato dei nodi.

Runtime Configurator offre anche un servizio Watcher e un servizio Waiter. Il servizio Watcher controlla una coppia di chiavi specifica e restituisce quando il valore cambia la coppia di chiavi, mentre il servizio cameriere attende un'estremità specifica e restituisce una risposta dopo che la condizione finale è stata soddisfatta.

Utilizza Runtime Configurator tramite l'interfaccia a riga di comando gcloud o come API autonoma.

Concetti

  • Risorsa 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 (prod, dev, test), in base a diversi livelli di applicazioni o servizi (back end, front end) o in base alle entità (una configurazione per utente della tua applicazione).

  • Variabili

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

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

    Puoi impostare, ottenere e controllare i valori delle variabili per comunicare informazioni le tue applicazioni, per segnalare lo stato completato, per inviare notifiche sui dati modifiche e altro ancora. Le variabili sono gerarchiche, quindi la chiave hanno diversi livelli. Ad esempio, alcuni esempi di chiavi di variabile potrebbero essere:

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • Guardatori

    Puoi utilizzare il metodo watch() per osservare una variabile e restituirla quando il valore le modifiche alla variabile, l'utente si verifica un timeout o l'utente viene eliminato. Utilizza la funzionalità watch() per configurare dinamicamente le applicazioni in base alle modifiche dei dati.

  • Camerieri

    Se crei una risorsa waiter per osservare il prefisso di un percorso specifico, restituisce quando il numero di variabili sotto il prefisso raggiunge un determinato importo. Definito come 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 cameriere ha una condizione di errore e di riuscita che puoi impostare.

    Dopo aver creato un Waiter, il servizio restituisce un oggetto Operation che viene sottoposto a polling per il completamento. L'operazione viene completata quando si verifica quanto segue:

    • La condizione success è soddisfatta.
    • La condizione failure è soddisfatta.
    • Waiter ha raggiunto la scadenza del timeout specificata nella richiesta iniziale.

    L'utilizzo di un gestore è ideale per gli scenari di avvio, in cui potresti dover mettere in pausa un deployment finché non è in esecuzione un determinato numero di servizi.

Passaggi successivi