浅谈OpenStack(一)

news/2024/9/21 13:41:06

本文分享自天翼云开发者社区《浅谈OpenStack(一)》,作者:EmmaDu

OpenStack刚诞生的时候比较单纯,只有计算(NASA开源)和存储(Rackspace开源)两个功能组件,至于NASA和Rackspace开源这两个项目并成立OpenStack社区(https://www.openstack.org)的原因,网络上流传了很多版本,感兴趣的同学可以去网上找找。

个人认为OpenStack是一个伟大的开源项目,几乎所有的架构、所有的厂商都能在社区找到解决方案。截至到现在,OpenStack已经拥有超过1000万行核心代码,这是由8000多名开发者贡献了50万+的变更得来的。最初的OpenStack有多厉害?很多开发者仅仅是把OpenStack的代码搬到本地,运行起来再卖出去,就能成立一家公司。

OpenStack刚开始只有nova(计算)和swift(存储)两个核心组件,尤其是nova,几乎负责了云主机生命周期的所有操作,包括cpu、内存、磁盘、网络等,后来随着功能越来越多,项目越来越庞大,社区才把镜像管理(nova-image)服务、存储管理(nova-volume)服务、网络管理(nova-network)服务等独立出来,于是有了glance、cinder、neutron等服务。在OpenStack里有两个概念:组件和服务。我们把每个完成独立功能的项目称为一个组件,比如nova、cinder、glance、neutron。每个组件里会细分很多个服务,用来承担不同的职责,比如nova里会有nova-api服务,负责api请求的处理;nova-scheduler服务负责宿主机的调度;nova-compute服务负责与虚拟化软件进行交互,来操作云主机。

上图展示了OpenStack里的主要核心组件的交互流程,可以看到,组件和组件之间通过RESTful API交互;组件内的服务和服务之间通过消息队列交互。整个架构,逻辑清晰,组件之间相互独立,耦合性很低;而组件内部,通过消息队列来传递请求,耦合性也很低。个人认为,松耦合是OpenStack最大的特点,也是最值得学习的地方。

什么是松耦合?松耦合是指系统架构中不同的组件之间存在低度的耦合关系,这之间彼此相互独立,如果发生改变,其他相关模块不受影响,即可以分离出来独立开发或替换。我们的TeleCloudOS4.0底座虽然不再使用OpenStack,但是在做设计时,还是有很多OpenStack的影子。比如,现在各个产品线之间负责独立组件(计算、存储、网络等),而每个组件之间通过RESTful API的方式进行调用;比如每个组件内部又细分了很多服务,来负责不同的功能(api、调度、计算代理服务等)。各个产品线只需要专注的实现自有的产品功能,而不需要关心其他产品的内部实现,产品线的产品调用通过RESTful API来实现,只要定义好对接的接口格式,就可以实现并行开发,独立维护,互不影响,可以大大的提升开发效率,同时某一个组件的bug影响范围控制在组件内部,对其他组件不会造成影响。而产品线内部在设计时,也参考了OpenStack,将一个组件细分成很多服务来承担不同的任务,服务之间通过分布式队列来交互,其实和OpenStack异曲同工。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/47301.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

openGauss file_fdw

file_fdw file_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPY FROM可读的格式,具体请参见COPY的介绍。使用file_fdw访问的数据文件是当前可读的,不支持对该数据文件的写入操作。 当前openGauss会默认编译file_fdw,in…

selectpage汇总

动态下拉列表<input id="c-name" data-rule="required" data-source="category/selectpage" class="form-control selectpage" name="row[name]" type="text" value="">常用属性:附加参数请求:…

yolov1-yolov5 网络结构正负样本筛选损失计算

学习yolo系列,最重要的,最核心的就是网络模型、正负样本匹配、损失函数等三个方面。本篇汇总了yolov1-yolov5等5个版本的相关知识点,主要看点是在yolo框架搭建。初学者可以通过相关篇章搭建自己的知识点框架,然后再深入各个知识点,就像攻克一个又一个山头。当大部分的知识…

MUR4060PT-ASEMI逆变焊机MUR4060PT

MUR4060PT-ASEMI逆变焊机MUR4060PT编辑:ll MUR4060PT-ASEMI逆变焊机MUR4060PT 型号:MUR4060PT 品牌:ASEMI 封装:TO-247 恢复时间:35ns 最大平均正向电流(IF):40A 最大循环峰值反向电压(VRRM):600V 最大正向电压(VF):0.95V~1.90V 工作温度:-50C~150C 芯片个数:2…

NumPy-1-26-中文文档-八-

NumPy 1.26 中文文档(八)原文:numpy.org/doc/numpy.arange原文:numpy.org/doc/1.26/reference/generated/numpy.arange.htmlnumpy.arange([start, ]stop, [step, ]dtype=None, *, like=None)返回给定区间内均匀间隔的值。 arange可以根据不同数量的位置参数进行调用:arang…

NumPy-1-26-中文文档-二十二-

NumPy 1.26 中文文档(二十二)原文:numpy.org/doc/CPU/SIMD 优化原文:numpy.org/doc/1.26/reference/simd/index.htmlNumPy 具有灵活的工作机制,允许它利用 CPU 拥有的 SIMD 特性,在所有流行的平台上提供更快和更稳定的性能。目前,NumPy 支持 X86、IBM/Power、ARM7 和 AR…

MES生产制造系统对企业的重要性

MES生产制造系统对是针对中小型制造企业的车间生产应用而开发,能够帮助制造企业建立一个规范准确即时的生产数据库,高效配置生产资源,减少浪费,提高工厂交付力。制造企业借助生产管理软件,优化生产管理流程,提高企业生产管理能力。 一、生产过程优化 1、实时监控生产流程…