Python相关
飞翔的美食家
这个作者很懒,什么都没留下…
展开
-
对Python协程的理解
前言之前看Python教程的时候了解了一些协程的概念,相对还是比较肤浅,但是协程对Python语言而言是一个很重要的特性,加上近期看了我司架构师标哥的一篇讲协程的文章,感觉豁然开朗。为什么需要协程协程这东西,不是Python独有的,在很多其他脚本语言比如Lua也有,协程的存在,让单线程跑出了并发的效果,对计算资源的利用率高,开销小。但是说起来和Python解释器的设计也有关系,Python解释器对于原创 2017-06-14 00:14:27 · 1753 阅读 · 0 评论 -
【OpenStack源码分析之二】RabbitMQ分析
前言正在捋Nova的代码,从服务启动的入口这块就用到了第三方的Oslo_messaging库,可能也是因为消息中间件确实是整个软件的瓶颈,Oslo_messaging试图隔离出消息中间件和应用之间的接口,使得不仅仅可以使用RabbitMQ,也可以使用Kafka等其他中间件。RabbitMQ介绍这里十分感谢anzhsoft的技术专栏http://blog.csdn.net/column/details原创 2017-07-16 18:27:48 · 1741 阅读 · 0 评论 -
【OpenStack源码分析之三】Nova-Compute启动流程分析
Nova架构概览Nova是OpenStack社区最核心的项目,也是社区诞生之时就一直存在的项目,它主要提供计算资源的服务,这个计算资源包含了虚机以及配套的存储,网络等资源。我比较喜欢把OpenStack和Linux做类比,我们知道进程(Task)是处于执行期的程序以及相关资源的总称,如果把虚机类比为进程,Nova就类似于Linux中的进程管理和调度模块。所以Nova会和很多其他的组件交互,不仅包括O原创 2017-07-17 20:31:08 · 5058 阅读 · 0 评论 -
【OpenStack源码分析之六】从虚拟机启动流程看安全认证
前言从7.8号开始分析OpenStack已经有两周了,原本计划一个月分析完Neutron和Nova的,但是捋了下Nova的虚拟机启动流程,尤其是看到popsuper1982仁兄写得虚拟机启动的100个知识点,大概流程是清楚了,但是我没办法再去逐一深究,所以想把这里面再提取几个我关注的知识点研究一下。先借用一下网上的两张图: 虚拟机启动的100个知识点虚拟机启动的整体流程 这里面我比较关注的几个问原创 2017-07-22 10:26:28 · 1259 阅读 · 0 评论 -
【OpenStack源码分析之一】初探OpenStack
打算开始写一个Openstack的分析系列,其实接触Openstack也比较久了,但是一直没有深入了解,而且因为本人对Python知之甚少,用之甚少,所以想研究Openstack的代码上手就会比较困难,再加上代码量也比较大。 不过还是打算下定决心做一个系列的分析,不会全部看,大概只看NOVA和Neutron两个模块,而且按照我的认知习惯,还是先要了解全局再去深入细节,所以头几篇分析都会集中在Wha原创 2017-07-12 20:52:03 · 2360 阅读 · 1 评论 -
【OpenStack源码分析之四】WSGI与Nova API服务启动
前言前文已经介绍了RPC Server的启动,而Nova API启动的是WSGI服务,所以先介绍一下WSGI。WSGIWeb服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。WSGI是作为Web服务器原创 2017-07-18 22:49:30 · 1826 阅读 · 0 评论 -
【OpenStack源码分析之五】Nova API 的插件管理
Openstack使用 stevedore作为其第三方开发和加载的框架,其使用setuptools的entry points来定义并加载插件。entry point引用的是定义在模块中的对象,比如类、函数、实例等,只要在import模块时能够被创建的对象都可以。[nova.api.v21.extensions]remote_consoles = nova.api.openstack.compute原创 2017-07-19 21:05:18 · 746 阅读 · 0 评论