Concetti fondamentali di Runtime Configurator

Questo documento fornisce una panoramica della funzionalità Runtime Configurator e descrive i concetti chiave relativi a Runtime Configurator. Per informazioni su come creare una risorsa RuntimeConfig, consulta 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 usare queste coppie chiave-valore per:

  • Configurare dinamicamente i servizi
  • Comunicare gli stati del servizio
  • Invia 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 fare in modo che un'altra applicazione esegua una 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 monitora una coppia di chiavi specifica e restituisce quando il valore della coppia di chiavi cambia, mentre il servizio Waiter attende una condizione finale specifica e restituisce una risposta una volta soddisfatta questa condizione.

Puoi utilizzare Runtime Configurator tramite gcloud CLI o come API autonoma.

Concetti

  • Risorsa di configurazione

    Una risorsa di configurazione 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), a diversi livelli di applicazioni o servizi (back-end, front-end) o alle entità (una configurazione per utente dell'applicazione).

  • Variabili

    Le variabili sono coppie chiave-valore appartenenti 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 applicazioni, segnalare lo stato di completamento, inviare notifiche delle modifiche ai dati e altro ancora. Poiché le variabili sono gerarchiche, la chiave della variabile potrebbe avere diversi livelli. Ad esempio, le chiavi di variabile di esempio potrebbero essere:

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

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

  • Camerieri

    Se crei una risorsa Waiter per monitorare un prefisso di percorso specifico, il Waiter restituisce quando il numero di variabili sotto il prefisso raggiunge un determinato importo. Questa condizione è nota 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 soddisferà la condizione:

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

    Un cameriere ha una condizione di fallimento e di successo che puoi impostare.

    Dopo aver creato un Waiter, il servizio restituisce un oggetto dell'operazione di cui esegui il polling per il completamento. L'operazione è completata quando si verifica una delle seguenti condizioni:

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

    L'utilizzo di un comando Waiter è ideale per scenari di avvio, in cui potrebbe essere necessario mettere in pausa un deployment fino a quando non è in esecuzione un determinato numero di servizi.

Passaggi successivi