En este documento se proporciona una descripción general de la característica Runtime Configurator y se describen los conceptos clave relacionados con Runtime Configurator. Para aprender cómo crear un recurso RuntimeConfig, lee Crear y borrar recursos RuntimeConfig.
¿Qué es Runtime Configurator?
La característica Runtime Configurator te permite definir y almacenar datos como una jerarquía de pares clave-valor en Google Cloud Platform. Puedes utilizar estos pares clave-valor como una forma de:
- Configurar servicios de forma dinámica
- Comunicar estados de servicio
- Enviar notificación de cambios a los datos
- Compartir información entre varios niveles de servicios
Por ejemplo, imagina una situación en la que tienes un clúster de nodos que ejecutan un procedimiento de inicio. Durante el inicio, puedes configurar los nodos para que informen su estado a Runtime Configurator, y luego hacer que otra aplicación consulte Runtime Configurator y ejecute tareas específicas según el estado de los nodos.
Runtime Configurator también ofrece un servicio de agentes de observación y un servicio de recurso de espera. El servicio de agentes de observación observa un par de claves específico y aparece cuando el valor del par de claves cambia, mientras que el servicio de recurso de espera aguarda a que se produzca una condición final específica y muestra una respuesta una vez que se cumple la condición final.
Puedes utilizar Runtime Configurator mediante el uso de la gcloud CLI, o como una API independiente.
Conceptos
Recurso de configuración
Un recurso de configuración contiene una lista jerárquica de variables. Puedes crear configuraciones diferentes para propósitos distintos. Por ejemplo, puedes separar configuraciones según el entorno (producción, desarrollo, prueba), los niveles diferentes de aplicaciones o servicios (backend, frontend), o las entidades (una configuración por usuario de la aplicación).
Variables
Las variables son pares clave-valor que pertenecen a un recurso RuntimeConfig. Las claves de variables tienen el siguiente formato:
projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
Puedes configurar, obtener y observar valores de variables para comunicar información a las aplicaciones, señalar un estado completo, enviar notificaciones de cambios de datos, entre otras cosas. Las variables son jerárquicas, por lo que la clave de variable podría tener varios niveles. Por ejemplo, las claves de variables de muestra podrían ser:
webserver-1/users/name webserver-1/users/favorite_color
Agentes de observación
Puedes usar el método
watch()
para ver una variable y regresar cuando la variable cambia, el agente de observación agota el tiempo de espera o se elimina. Usa la funcionalidadwatch()
para configurar tus aplicaciones de forma dinámica según los cambios en tus datos.Recursos de espera
Si recreas un recurso de espera para observar un prefijo de ruta específico, tal recurso aparece una vez que el número de variables en el prefijo alcanza una cantidad particular. Esto se conoce como condición de cardinalidad.
Por ejemplo, si estableces una condición para la ruta
/foo
y la cantidad de rutas se establece en 2, la siguiente configuración cumpliría con la condición:/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3" # Not /foo path
Un recurso de espera tiene una condición de falla o éxito que puedes configurar.
Después de crear un recurso de espera, el servicio muestra un objeto de operación que se completó. La operación se completa cuando se produce una de las siguientes situaciones:
- Se cumple la condición
success
. - Se cumple la condición
failure
. - El recurso de espera alcanzó el tiempo de espera límite especificado en la solicitud inicial.
El uso de un recurso de espera es ideal para situaciones de inicio, en las que es posible que debas pausar una implementación hasta que se ejecute una cierta cantidad de servicios.
Pasos siguientes
- Crear un recurso RuntimeConfig.
- Configurar y obtener datos.
- Observar una variable específica.
- Crear un recurso de espera.
- Consulta la referencia de v1beta1.
- Consulta las Cuotas para Runtime Configurator.