首页 > 代码库 > 云计算

云计算

云计算技术:

一首先让大家明白什么是云端,所谓云端需要两层理解
(1)服务不在本地,这一层可以理解为服务器
(2)它和普通的服务器是不一样的,这些云端的服务器的资源是共享的,一旦一个服务器不能承受,将会把任务分配给其他机器。

二、云技术与其他技术的区别:
云技术可以使用的语言有java,c++等。云技术的开发,并没有发展什么新语言,而是在其他语言的基础上。比如Java语言。与其他技术,最显著的区别,不是在开发上,而是在于架构上,最显著的特点是分布式。


OpenStack提供开放源码软件,建立公共和私有云。 OpenStack是一个社区和一个项目,以及开放源码软件,以帮助企业运行的虚拟计算或者存储云。 OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为SWIFT),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。


OpenStack 中有两个守护进程:


接收和调解API调用的WSGI应用程序 (nova-api,glance-api等等)。

进行编排任务的工人守护进程(nova-compute, nova-network,,nova-schedule)。


OpenStack中还包含两个组件:消息队列服务和数据库。这两个组件方便异步编排复杂的任务通过消息传递和信息共享。


  • 终端用户通过nova-api 接口与Openstack 计算交互。

  • OpenStack计算守护进程通过队列的交换信息(行动)和数据库(信息)进行API请求。

  • OpenStack Glance是一个完全独立的基础上设施。



各个组件的介绍:


nova-api:是对外的接口。OpenStack 云计算的核心控制器(CloudController定义在trunk/nova/api/ec2/cloud.py)。它提供了一个为所有的API查询(OpenStack API或EC2 API)的端点,引发多数业务流程的活动(如运行一个实例),并实施一些政策(主要是配额检查)。

nova-schedule:根据当前资源使用情况,决定计算节点分布到哪台计算节点上。目前实现很薄,目前已支持插件方式扩展,方便后面可能有采用更复杂算法。


nova-compute:接收队列中的动作,然后执行一系列的系统命令(如启动KVM实例),同时更新数据库中的状态。


nova-volume:给虚拟机分配额外持久化的存储,管理持久卷到计算实例的创建,连接和分离。


nova-network:网络管理,给虚拟机分配网络和管理,使外部 PC 可以可直接访问。它接受队列中的网络任务,然后执行任务操纵网络(如设立桥接接口或更改iptables规则)。


queue:提供了一个守护进程之间传递消息的中央枢纽。当前由 RabbitMQ实现,理论上可以是Python的ampqlib支持的任何AMPQ消息队列。


SQL database:存储云基础设施的编译时和运行时的状态。这包括可用的实例类型,在使用中的实例,可用的网络和项目。




本文出自 “时光依然轻擦” 博客,请务必保留此出处http://xulianglinux.blog.51cto.com/8001428/1856249

云计算