没有合适的资源?快使用搜索试试~ 我知道了~
软件开发常用技术介绍.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 93 浏览量
2022-07-14
00:15:04
上传
评论
收藏 1.44MB DOCX 举报
温馨提示
试读
29页
软件开发常用技术介绍.docx
资源推荐
资源详情
资源评论
软件开发技术实现要点介绍
一、OpenStack
OpenStack 是一个由NASA(美国国家航空航天局)和 Rackspace 合作研发并发起的,以
Apache 许可证授权的自由软件和开放源代码项目。
OpenStack 是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥
有超过 130 家企业及 1350 位开发者,这些机构与个人都将OpenStack 作为基础设施即服务
(IaaS)资源的通用前端。OpenStack 项目的首要任务是简化云的部署过程并为其带来良好
的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 OpenStack 前端来设置及管理
自己的公共云或私有云。
1.
简介
OpenStack 既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作
平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云, 也为
大云、小云提供可扩展的、灵活的云计算。
OpenStack 旗 下 包 含 了 一 组 由 社 区 维 护 的 开 源 项 目 , 他 们 分 别 是
OpenStackCompute(Nova) , OpenStackObjectStorage(Swift) , 以 及
OpenStackImageService(Glance)。
OpenStackCompute,为云组织的控制器,它提供一个工具来部署云,包括运行实例、管
理网络以及控制用户和其他项目对云的访问 (thecloudthroughusersandprojects)。它底层
的开源项目名称是 Nova,其提供的软件能控制 IaaS 云计算平台,类似于 AmazonEC2 和
RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制
交互的驱动,暴露基于 WebAPI 的功能。
OpenStackObjectStorage,是一个可扩展的对象存储系统。对象存储支持多种应用,比 如
复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量
难以估计的数据,为Web 应用创建基于云的弹性存储。
OpenStackImageService,是一个虚拟机镜像的存储、查询和检索系统,服务包括的
RESTfulAPI 允许用户通过 HTTP 请求查询VM 镜像元数据,以及检索实际的镜像。VM 镜像有
四种配置方式:简单的文件系统,类似 OpenStackObjectStorage 的对 象存储系统,直接用
Amazon'sSimpleStorageSolution(S3)存储,用带有 ObjectStore 的S3 间接访问S3。
三个项目的基本关系如下图所示:
2.
OpenStack Compute逻辑架构
OpenStack Compute 逻辑架构中,组件中的绝大多数可分为两种自定义编写的 Python
守护进程(custom written python daemons)。
a)
接收和协调API 调用的WSGI 应用(nova-api, glance-api, etc)
b)
执行部署任务的Worker 守护进程(nova-compute, nova-network, nova-schedule,
etc.)
然而,逻辑架构中有两个重要的部分,既不是自定义编写,也不是基于 Python,它们是消
息队列和数据库。二者简化了复杂任务(通过消息传递和信息共享的任务)的异步部署。
逻辑架构图 3-1 如下所示:
从图中,我们可以总结出三点:
a)
终端用户(DevOps, Developers 和其他的 OpenStack 组件)通过和nova-api 对话
来与 OpenStack Compute 交互。
b)
OpenStack Compute 守护进程之间通过队列(行为)和数据库(信息)来交换信息,以执
行 API 请求。
c)
OpenStack Glance基本上是独立的基础架构,OpenStack Compute 通过Glance API
来和它交互。
其各个组件的情况如下:
a)
nova-api 守护进程是 OpenStack Compute 的中心。它为所有 API 查询(OpenStack
API 或 EC2 API)提供端点,初始化绝大多数部署活动(比如运行实例),以及实施一些策略
(绝大多数的配额检查)。
b)
nova-compute 进程主要是一个创建和终止虚拟机实例的Worker 守护进程。其过程
相当复杂,但是基本原理很简单:从队列中接收行为,然后在更新数据库的状态时,执行一系
列的系统命令执行他们。
c)
nova-volume 管理映射到计算机实例的卷的创建、附加和取消。这些卷可以来自很
多提供商,比如,ISCSI 和 AoE。
d)
Nova-network worker 守护进程类似于nova-compute 和 nova-volume。它从队列中
接收网络任务,然后执行任务以操控网络,比如创建 bridging interfaces 或改变iptables
rules。
e)
Queue 提供中心hub,为守护进程传递消息。当前用RabbitMQ 实现。但是理论上能
是 python ampqlib 支持的任何AMPQ 消息队列。
f)
SQL database存储云基础架构中的绝大多数编译时和运行时状态。这包括了可用的
实例类型,在用的实例,可用的网络和项目。理论上,OpenStack
Compute
能支持SQL-Alchemy
支持的任何数据库,但是当前广泛使用的数据库是 sqlite3(仅适合测试和开发工作),MySQL
和 PostgreSQL。
g)
OpenStack Glance,是一个单独的项目,它是一个compute 架构中可选的部分,分
为三个部分:glance-api, glance-registry and the image store. 其中,glance-api 接
受 API 调用,glance-registry 负责存储和检索镜像的元数据,实际的Image Blob 存储在
Image Store 中。Image Store 可以是多种不同的Object Store,包括OpenStack Object
Storage (Swift)
h)
最后,user dashboard 是另一个可选的项目。OpenStack Dashboard 提供了一个
OpenStack Compute 界面来给应用开发者和devops staff 类似API 的功能。当前它是作为
Django web Application 来实现的。当然,也有其他可用的Web 前端。
3.
OpenStack在系统中的使用
OpenStack 强大的功能,为系统的云服务器环境提供了强有力的支持,在本系统中,
OpenStack 的主要使用场景如下:
1)
登录到仪表板接口,查看、启停虚拟机实例
OpenStack 提供了强大的界面支持,运维人员可通过OpenStack 方便地管理虚拟机实例。
2)
镜像管理
系统集群需要部署多台完全一样的虚拟机,此时只需通过镜像功能拷贝多个虚拟机即可。
3)
自动化脚本
利用 python-nova 工具,为服务治理工作提供帮助,轻松地实现服务部署、维护等工作。二
、 NoSQL
随着互联网中web 2.0 网站的兴起,以及未来“互联网+”的深入整合,关于数据存储,
传统的关系数据库在应付超大规模和高并发的动态网站方面,已经显得力不从心,暴露了很多
难以克服的问题,例如:
High performance - 对数据高并发读写的需求
Huge Storage - 对海量数据的高效率存储和访问的需求
High Scalability && High Availability - 对数据的高可扩展性和高可用性的需求关
系数据库在这些越来越多的应用场景下显得不那么合适,为了解决这类问题的 NoSQL
应运而生,并得到了非常迅速的发展。
NoSQL 又 称 为 Not Only SQL ,主要是指非关系型、分布式、支持水平扩展的数据库设
计模式。NoSQL 放弃了传统关系型数据库严格的事务一致性和范式约束,采用弱一致性模型
。NoSQL 的特点是非关系型、分布式、开源、可水平扩展、模式自由、支持 replication、
简单
的API、最终一致性(相对于即时一致性,最终一致性允许有一个“不一致性窗口”,但
能保证
最终的客户都能看到最新的值)。
相对于 NoSQL 系统,传统数据库难以满足云环境下应用数据的存储需求,具体体现在以
下 3 个方面:
1)
根据 CAP 理论,一致性(consistency)、可用性(availability)和分区容错(partition tolerance)
剩余28页未读,继续阅读
资源评论
Cheng-Dashi
- 粉丝: 108
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TG-2024-05-23-204718255.mp4
- 候志强@181 5428 8938_20240420112107.amr
- spispispispispi
- 实验二:IP协议分析.zip
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功