Runtime Configurator 基础知识

本文档简要介绍了 Runtime Configurator 功能并描述了与 Runtime Configurator 相关的关键概念。要了解如何创建 RuntimeConfig 资源,请阅读创建和删除 RuntimeConfig 资源

什么是 Runtime Configurator?

借助 Runtime Configurator 功能,您可以在 Google Cloud Platform 中以键值对层次结构的形式定义并存储数据。您可以这些键值对为方式进行:

  • 动态配置服务
  • 沟通服务状态
  • 发送数据更改通知
  • 在多级服务间共享信息

例如,设想一个场景,您有一个运行启动过程的集群节点。在启动时,您可以将节点配置为向 Runtime Configurator 报告状态,然后让另一个应用询问 Runtime Configurator 并根据节点的状态运行特定任务。

Runtime Configurator 还提供 Watcher 服务和 Waiter 服务。Watcher 服务监视特定键对,并在键对的值变更时返回结果,而 Waiter 服务等待特定的结束条件,并在满足结束条件后返回响应。

您可以通过 gcloud CLI 或以 独立的 API。

概念

  • 配置资源

    Config 资源包含变量的层次结构列表。您可以针对不同目的创建不同的配置。例如,您可以根据环境(prod、dev、test),基于不同等级的应用程序或服务(后端、前端)或基于实体(应用程序的每个用户一个配置)来分离配置。

  • 变量

    变量是属于 RuntimeConfig 资源的键值对。变量键采用以下格式:

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

    您可以设置、获取和监视变量值,以便将信息传达给应用、发出完成状态信号以及发送数据更改通知等。变量是分层的,因此您的变量键应有多个级别。例如,示例变量键可以是:

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

    您可以使用 watch() 方法监视变量,并在变量更改、Watcher 超时或 Watcher 被删除时返回结果。使用 watch() 功能可根据数据更改动态配置应用。

  • Waiter

    如果您要创建 Waiter 资源以监视特定路径前缀,则前缀下的变量数达到特定量后,waiter 就会返回。这称为基数条件

    例如,如果为路径 /foo 设置条件且路径数设置为 2,则以下设置将满足以下条件:

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

    您可以为 waiter 设置失败和成功条件。

    创建 Waiter 后,该服务将返回您轮询完成的操作对象。发生以下任一情况时,操作完成:

    • 满足 success 条件。
    • 满足 failure 条件。
    • Waiter 达到了初始请求中指定的超时截止时间。

    使用 waiter 极为适合启动方案,您可能需要暂停部署,直到运行一定数量的服务。

后续步骤