云计算的关键技术与挑战
主要内容
云计算的关键技术
云计算的技术挑战
Google file System介绍
云计算的关键技术
云计算的技术挑战
Google file System介绍
云计算的关键技术
快直伸缩
在现有的服务节点上增加或减少资源
水平伸缩
在现有的服务节点上增加或减少服务节点
云计算的技术挑战信息保密
信息的内容不应该被未授权的人得到
非法用户访问难度较大
数据在云的大规模分布式存储机制中,完整的数据实体被打散存储在不同的服务器上,而每个数据块可包含不同的数据实体
根本方法
从逻辑上甚至物理上将多个用户的数据隔离
云计算的技术挑战高性能
云环境所承担的计算、存储和通信方面的负载大于传统的计算环境
服务器虚拟化技术
CPU开销较小
内存性能开销较大(访问冲突)
大规模数据处理技术
MapReduce
适用性问题
原语设计导致的性能问题
大量的网络消息通信问题
分布式存储技术
面对网络不可控的环境
云计算的技术挑战标准化
维护多个云之间的数据同步、应用版本同步、应用在多个云之间的互操作
云计算的标准化工作还在酝酿之中
开放式云宣言(Open Cloud Manifesto)
总结云计算的特点和现有挑战
建立开放的云基础设施将是未来云计算领域的发展趋势
对开放标准的呼吁
云计算的关键技术
云计算的技术挑战
Google file System介绍
Google 文件系统(GFS)
适用于大规模数据密集型应用程序的可扩展分布式文件系统
多个部署GFS的集群已经建成
目前最大的集群为:
1000多个存储节点
300+TB的存储容量
可供不同机器上的上百用户同时读取
介绍
与之前的分布式文件系统一样,需要达到
性能、可扩展性、可靠性等
GFS的设计源于对Google应用程序的负载和技术环境的观察
介绍:观察1
控件的故障时常发生
系统集成了实时监控、错误检测、容错性和自动恢复等功能
超大文件(与普通文件相比)
GB大小的文件很正常
介绍:观察2
大部分文件修改都是添加新的内容
需要考虑优化性能和保证原子性
协同设计应用程序和API有利于增加整个系统的灵活性
设计
集群包含一个master和多个chunkservers,并且可供多个用户读取
Master
维护文件系统的所有元数据
命名空间、控制信息、桶(包括副本)位置等
周期性地与chunkserver进行交流,发送HeartBeat 消息来给出命令并检查状态
帮助决定chunk的位置和副本确定
当读取或写入文件,用户从Master获得chunk的位置,并直接与chunkserver通信
Master并不是读写的瓶颈
chunkservers
文件分裂成chunks,每个chunk拥有一个不变的全局的独一无二的64位chunk句柄
句柄在chunk创建的时候由master分配
Chunk的大小为64MB
默认每个chunk复制到三个服务器上
用户
应用程序使用文件系统API
读写时与master和chunkserver进行通信
与master交互获得元数据
与chunkserver交互获得数据
只缓存元数据信息
数据太大不能放在缓存中
Chunk 位置
Master并不保留关于chunk及其副本位置的永久记录
启动时通过询问chunkserver获得
通过HeartBeat消息并控制新chunk位置来更新信息
操作日志
记录所有关键元数据的修改
存储在master上并复制到其它机器上
规定并行操作的顺序
所有副本完成修改后再反馈给用户
用来恢复文件系统状态
系统交互:修改顺序
所有的chunk副本之间存在修改顺序
Master选取一个副本称为原始副本
原始副本选取之后连续的修改顺序副本
对于master来说最小化了管理的开销
系统交互:修改顺序
记录添加的原子操作
用户指定写入的数据,GFS选择并返回写入的偏移量,并将数据一次追加到每个副本的后面
Google分布式应用程序经常使用
不需要分布式锁管理器
GFS选择偏移量,不是用户
如何添加记录
与修改的过程类似
原始副本告诉第二个副本偏移位置(与原始副本一样)追加数据
如果某一副本在追加数据过程中发生故障,用户会重新尝试
相同chunk的副本可能包含不同的数据包括相同记录全部或部分的副本
GFS并不保证所有的副本的每位都相等
只能保证写入的数据是一次完成的
所有chunk副本必须写入相同偏移量的位置
副本位置
放置位置策略需考虑数据可靠性和网络带宽
副本不仅放置在不同的机器上,也放置在不同的rack上
写入操作影响到多个rack
Chunk创建
由master创建和放置
放置在低于平均磁盘使
云计算的关键技术与挑战ppt课件 来自淘豆网m.daumloan.com转载请标明出处.