OpenStack Days China 2016 InwinSTACK林冠宇:Heat Optimization
在本文档中,林冠宇作为inwinSTACK的高级软件架构师,在OpenStack Days China 2016上发表了关于“热优化”(Heat Optimization)的演讲。OpenStack是一个开源的云计算平台项目,其目的是为公共和私有云提供各种解决方案。Heat是OpenStack的一个组件,用于描述和启动多服务器或多资源云应用的整个部署过程。该组件通过一系列模板来实现资源的自动化部署。 在演讲中,林冠宇主要讨论了Heat模板的优化问题,特别是针对大量操作所引发的数据库和内存压力问题,以及在优化脚本以减少操作时间方面的探讨。他提到,通过使用Heat的原生HOT模板格式或AWS CloudFormation模板格式,可以通过OpenStack的原生REST API或与CloudFormation兼容的Query API来编排多个复合云应用。 文档内容表明,Heat经历了从旧版栈到新版栈的迁移过程,这包括了数据库的优化和内存使用问题。这可能是由于原始架构设计中未能进行并行执行,从而导致了大数据量和内存消耗的问题。为此,林冠宇提出了一些优化策略,如主动和延迟获取数据的策略(Eager and Lazy Fetch)、上下文缓存(Contexts Cache)、批量任务处理(Batch Task)、优化同步表(Optimize Sync Table)以及解决更新取消问题(Resolving Update Cancel)。 “主动获取数据”指的是对于那些经常会被查询的数据,应当将其存储在数据库中,以便快速访问;“延迟获取数据”则相反,针对那些不常用的数据,应当在需要时再进行查询,以避免无谓的数据库压力。上下文缓存是针对当`refresh`参数为False时,可以缓存数据库查询结果,减少数据库访问。批量任务处理指的是Heat引擎接受队列中的任务,并进行批量处理以提高效率。优化同步表和解决更新取消部分,则是关于如何处理由于多个操作连续执行造成的重试问题和更新操作的取消问题。 林冠宇还提到了Heat的资源定义(Resource Definition)和资源分组(Resource Group),这涉及到如何在Heat模板中定义云资源,例如虚拟机、负载均衡器、网络等,以及如何将这些资源组织成一个资源分组进行管理。资源分组可以更好地管理云应用中的资源依赖关系,提高资源管理的效率和可靠性。 此外,文档中还提及了OpenStack中的AMQP协议,这是高级消息队列协议,用于Heat组件之间的消息通信,确保各个服务组件能够有效协同工作。 文档中也提到对于Heat的优化是一个持续过程,仍然有未完成的工作(Underdevelop),比如处理更新取消的问题,以及对Heat引擎进行性能优化等。 在文档的列出了Heat模板需要的参数和资源定义的例子,包括服务器组的类型、数量、网络和服务器的配置参数,如flavor、image_id、key_name等。这些参数和配置是实现具体云应用部署的关键部分,通过模板化使得部署过程更加自动化和可控。 该文档详细介绍了OpenStack的Heat组件优化的各个方面,涵盖了数据库优化、性能改进、模板设计、资源分组、消息通信等关键知识点,为读者提供了丰富的技术信息和优化方法,帮助用户更好地理解和使用OpenStack Heat进行云资源管理和部署。
剩余24页未读,继续阅读
- 粉丝: 1
- 资源: 39
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机毕业设计:python+爬虫+cnki网站爬
- nyakumi-lewd-snack-3-4k_720p.7z.002
- 现在微信小程序能用的mqtt.min.js
- 基于MPC的非线性摆锤系统轨迹跟踪控制matlab仿真,包括程序中文注释,仿真操作步骤
- 基于MATLAB的ITS信道模型数值模拟仿真,包括程序中文注释,仿真操作步骤
- 基于Java、JavaScript、CSS的电子产品商城设计与实现源码
- 基于Vue 2的zjc项目设计源码,适用于赶项目需求
- 基于跨语言统一的C++头文件设计源码开发方案
- 基于MindSpore 1.3的T-GCNTemporal Graph Convolutional Network设计源码
- 基于Java的贝塞尔曲线绘制酷炫轮廓背景设计源码