Neste documento, você verá uma visão geral do recurso Runtime Configurator e os principais conceitos relacionados a ele. Para saber como criar um recurso RuntimeConfig, leia Criação e exclusão de recursos RuntimeConfig.
O que é o Runtime Configurator?
O recurso Runtime Configurator permite definir e armazenar dados como uma hierarquia de pares de chave-valor no Google Cloud Platform. Você pode usar esses pares para:
- configurar serviços dinamicamente;
- comunicar estados de serviço;
- enviar notificação de alterações de dados;
- compartilhar informações entre várias camadas de serviços.
Por exemplo, imagine um cenário em que você tem um cluster de nodes que executam um procedimento de inicialização. Durante a inicialização, é possível configurar os nodes para relatar o status ao Runtime Configurator e, em seguida, definir outro aplicativo para consultar o Runtime Configurator e executar tarefas específicas com base no status dos nodes.
O Runtime Configurator também oferece os serviços Inspetor e Waiter. O inspetor observa determinado par de chaves e é retornado quando há alteração no valor desse par. O encarregado aguarda uma condição final específica e retorna uma resposta quando essa condição é atingida.
Use o Runtime Configurator pela CLI gcloud ou como uma API independente.
Conceitos
Recurso Config
Esse recurso contém uma lista hierárquica de variáveis. Você pode criar configurações diferentes para diversas finalidades. Por exemplo, é possível separar configurações com base no ambiente (produção, desenvolvimento, teste), em diferentes camadas de aplicativos ou serviços (back end, front end) ou em entidades (uma configuração por usuário do aplicativo).
Variáveis
Tratam-se de pares de chave-valor que pertencem a um recurso RuntimeConfig. As chaves de variável têm o seguinte formato:
projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
É possível definir, receber e observar valores de variáveis para transmitir informações aos aplicativos, sinalizar o estado concluído, enviar notificação de alterações de dados etc. As variáveis são hierárquicas, portanto a chave de variável pode ter diversos níveis. Por exemplo, as chaves de variável de amostra podem ser:
webserver-1/users/name webserver-1/users/favorite_color
Inspetores
Use o método
watch()
para observar uma variável e retornar quando a variável for alterada, o inspetor expirar ou o inspetor for excluído. Use a funcionalidadewatch()
para configurar dinamicamente seus aplicativos com base em alterações nos seus dados.Encarregados
Se você criar um recurso Waiter para observar determinado prefixo de caminho, esse recurso será retornado quando o número de variáveis no prefixo atingir um valor específico. Ele está relacionado a uma condição de cardinalidade.
Por exemplo, se você definir uma condição para o caminho
/foo
e o número de caminhos for definido como 2, a seguinte configuração atenderá à condição:/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3" # Not /foo path
Um waiter tem a condição tanto de falha quanto de sucesso que você pode definir.
Depois que você cria um waiter, o serviço retorna um objeto de operação que você pesquisa para execução. A operação é concluída quando ocorre uma das seguintes situações:
- A condição
success
é atendida. - A condição
failure
é atendida. - O encarregado esgotou o tempo limite especificado na solicitação inicial.
O uso do waiter é ideal em cenários de inicialização, nos quais você pode precisar pausar uma implantação até que determinado número de serviços esteja em execução.
Próximas etapas
- Como criar um recurso RuntimeConfig.
- Como definir e receber dados.
- Como inspecionar uma variável específica.
- Como criar um encarregado.
- Consulte a referência do v1beta1.
- Consulte Cotas do Runtime Configurator.