从资源中提取数据推送到依赖项¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/heat/+spec/convergence-push-data
问题描述¶
我们目前假设堆栈中的每个资源都同时加载到内存中,并直接查询它以确定其属性值。与“推送”系统相比,这种“拉取”系统在收敛架构中效率较低,因为我们希望一次只加载一个资源到内存中。
提议的变更¶
分析模板以确定资源哪些属性在其他地方需要。从概念上讲,这与我们分析模板查找依赖项的方式非常相似,即递归地检查模板片段并建立依赖资源列表,除了我们不仅需要资源列表,还需要包含引用的属性名称。 这样,代码就可以与任意模板格式插件一起工作,尽管它可能需要更改 Function 插件 API。将结果作为从资源名称到引用属性名称列表的映射返回。
在创建或更新事件之后,我们可以使用此属性列表查询资源,以获取随后将需要的所有信息。
备选方案¶
每当我们需要检索其属性之一时,就从数据库加载资源。
实现¶
负责人¶
- 主要负责人
skraynev
里程碑¶
- 完成目标里程碑
Kilo-3
工作项¶
确定模板中引用的资源属性列表
依赖项¶
无