从资源中提取数据推送到依赖项

包含您的 Launchpad 蓝图的 URL

https://blueprints.launchpad.net/heat/+spec/convergence-push-data

问题描述

我们目前假设堆栈中的每个资源都同时加载到内存中,并直接查询它以确定其属性值。与“推送”系统相比,这种“拉取”系统在收敛架构中效率较低,因为我们希望一次只加载一个资源到内存中。

提议的变更

分析模板以确定资源哪些属性在其他地方需要。从概念上讲,这与我们分析模板查找依赖项的方式非常相似,即递归地检查模板片段并建立依赖资源列表,除了我们不仅需要资源列表,还需要包含引用的属性名称。 这样,代码就可以与任意模板格式插件一起工作,尽管它可能需要更改 Function 插件 API。将结果作为从资源名称到引用属性名称列表的映射返回。

在创建或更新事件之后,我们可以使用此属性列表查询资源,以获取随后将需要的所有信息。

备选方案

每当我们需要检索其属性之一时,就从数据库加载资源。

实现

负责人

主要负责人

skraynev

里程碑

完成目标里程碑

Kilo-3

工作项

  • 确定模板中引用的资源属性列表

依赖项