登陆注册
48566000000014

第14章 云计算技术(2)

客户化配置是指SaaS应用能够支持不同租户对SaaS应用的配置进行定制,比如界面显示风格的定制等。客户化配置的基本要求是一个租户的客户化操作不会影响到其他租户。这就要求多租户系统能够对同一个SaaS应用实例的不同租户的配置进行描述和存储,并且能够在租户登录SaaS应用时能根据该租户的客户化配置为其呈现相应的SaaS应用。在传统的企业应用运行模式中,每个企业用户都拥有一个独立的应用实例,因此可以非常容易地存储和加载任何客户化配置。但在多租户场景下,成千上万的租户共享同一个应用实例。在现有的平台技术中,比如J2EE,对应用配置的更改通常会对该平台中的所有用户产生影响。因此,如何支持不同租户对同一应用实例的独立客户化配置是多租户技术面临的一个基本挑战。

架构扩展是指多租户服务能够提供灵活的、具备高可伸缩性的基础架构,从而保证在不同负载下多租户平台的性能。在典型的多租户场景中,多租户平台需要支持大规模租户的同时访问,因此平台的可伸缩性至关重要。一个最简单的方法是在初始阶段就为多租户平台分配海量的资源,这些资源足以保证在负载达到峰值时的平台性能。然而,很多时候负载并不是处于峰值的,这个方法会造成巨大的计算资源和能源浪费,并且会大幅增加多租户平台提供商的运营成本。因而,多租户平台应该具有灵活可伸缩的基础架构,能够根据负载的变化按需伸缩。

性能定制是多租户技术面临的另一个挑战。对于同一个SaaS应用实例来说,不同的用户对性能的要求可能是不同的,比如某些客户希望通过支付更多的费用来获取更好的性能,而另一些客户则本着“够用即可”的原则。在传统的软件运营模式中,由于每个客户拥有独立的资源堆栈,只需要简单地为付费多的用户配置更高级的资源就可以了,因此相对而言性能定制更容易一些。然而,同一个SaaS应用的不同租户共享的是同一套资源,如何为不同租户在这一套共享的资源上灵活地配置性能是多租户技术中的难点。

4.4海量数据处理

以互联网为计算平台的云计算,将会更广泛地涉及海量数据处理任务。海量数据处理指的是对大规模数据的计算和分析,通常数据的规模可以达到TB甚至PB级别。在互联网时代,互联网数据的统计和分析很多是海量数据级别的,一个典型的例子就是搜索引擎。由于数据量非常大,一台计算机不可能满足海量数据处理的性能和可靠性等方面的要求。以往对于海量数据处理的研究通常是某种并行计算模型和计算机集群系统。并行计算模型可以支持高吞吐量的分布式批处理计算任务和海量数据,计算机集群系统则在通过互联网连接的机器集群上建立一个可扩展的可靠的计算环境。

在互联网时代,由于海量数据处理操作非常频繁,很多研究者在从事支持海量数据处理的编程模型方面的研究。例如,Remzi等人在1999年设计了River编程模型,开发人员可以基于该编程模型开发和执行计算任务。River编程模型的设计目的就是使得大规模计算机集群的编程和计算更加容易,并且获得极佳的计算性能。River编程模型有两个核心设计特性:高性能的分布式队列和一个存储冗余机制。因此,River需要对磁盘和网络的数据传输进行非常精心的调度。当今世界最流行的海量数据处理的编程模型可以说是由Google公司的Jeffrey Dean等人所设计的MapReduce编程模型。MapReduce编程模型将一个任务分成很多更细粒度的子任务,这些子任务能够在空闲的处理节点之间调度,使得处理速度越快的节点处理越多的任务,从而避免处理速度慢的节点延长整个任务的完成时间。下面我们将介绍Map Reduce框架的工作原理和设计原则,从而加深读者对海量数据处理系统的理解。

Map Reduce框架从Lisp及很多其他类似的语言获得灵感,研究人员发现大多数分布式运算可以抽象为Map和Reduce两个步骤,从而实现可靠、高效的分布式应用。Map步骤负责根据输入的key/value(键值)对生成中间结果,中间结果同样采用key/value对的形式。Reduce步骤则将所有的中间结果根据key进行合并,然后生成最终结果。开发者只需要实现Map和Reduce函数的逻辑,然后提交给MapReduce远行环境,计算任务便会在由大量计算机组成的集群上被自动、并行地调度执行。运行环境负责将输入数据进行分割、调度任务、自动处理运行过程中的机器失效,以及协调不同节点之间的数据通信。

MapReduce的运行环境由两种不同类型的节点组成:Master和Worker。Worker,负责数据处理,Master,负责任务调度及不同节点之间的数据共享。

具体执行流程如下:

(1)利用Map Reduce提供的库将输入数据切分为M份,每份的大小为16~64 MB,然后在计算机集群上启动程序。

(2)Master节点的程序负责为所有Worker节点分配子任务,其中包括M个Map子任务和R个Reduce子任务。Master负责找出空闲的节点并分配子任务。

(3)获得Map子任务的Worker节点读入对应的输入数据,从输入数据中解析key/value对,并调用用户编写的Map函数。Map函数的中间结果缓存在内存中并周期性地写入本地磁盘。写入本地磁盘的数据根据用户指定的划分函数被分为R个数据区。这些中间结果的位置被发送Master节点。Master节点继续将这些数据信息发给负责Reduce任务的Worker节点进行Reduce处理。

(4)执行Reduce子任务的Worker节点从Master节点获取子任务后,使用远程调用的方式从执行Map任务的Worker节点的本地磁盘读取数据到缓存。执行Reduce子任务的Worker节点首先遍历所有的中间结果,然后按照关键字进行排序。

(5)执行Reduce子任务的Worker节点遍历获得Map子任务产生的中间数据,将每个不同的key和value进行结合并传递给用户的Reduce函数。Reduce函数的结果被写入到一个最终的输出文件。当所有的Map子任务和Reduce子任务完成后,Master节点将R份Reduce结果返回给用户程序。用户程序可以将这些执行Reduce子任务的Worker节点生成的结果数据合并得到最终结果。

在设计MapReduce的时候,研究人员考虑了很多大规模分布式计算机集群进行海量数据处理时所要考虑的关键问题:容错处理保证了在Master和Worker都失效的情况下计算任务仍然能够正确执行;操作本地化保证了在网络等资源有限的情况下,最大限度地将计算任务在本地执行;任务划分的粒度使得任务能够更加优化地被分解和并行执行;对于每个未完成的子任务,Master节点都会启动一个备份子任务同时执行,无论初始任务还是备份子任务处理完成,该子任务都会立即被标记为完成状态,通过备份任务机制可以有效避免因个别节点处理速度过慢而延误整个任务的处理速度。

大规模数据处理的另一类新技术被称为流计算(Stream Computing)。传统的计算或者数据处理的步骤是:首先收集数据,然后将数据储存起来,储存方式可能有数据库、文件等,最后对储存好的数据进行计算处理,将计算结果返回或者输出。这种计算模式,在现在的海量数据情况下遇到了挑战:(1)数据量非常大,目前互联网时代的数据不止是文本数据,而绝大多数是图像、音频、视频等,将这些数据进行存储就是很大的问题,针对海量数据进行计算也是很大的问题;(2)用户对于计算速度的要求越来越高,比如天气预报、金融分析、市场预测等应用,要求数据计算产生结果的速度尽量的快;(3)大量数据是实时生成的,比如用户的使用日志、交通流量实时监测、证券实时报价等,对这些数据进行分析计算的结果,很多时候都需要实时可用,而如果等待存储——计算——输出的过程,则无法满足需求。流计算是正式应对这些挑战的一项新兴技术。流计算的计算模式为:数据实时地进行输入,不需要强调存储过程,实时计算,实时输出。流计算将计算过程转化成一个流程图的形式,每一个计算模块负责流程中的一个步骤,通过网络连接将这些模块串接成一个反映整个计算过程的图,图的起始端就是用户输入的数据,而图的终止端就是计算输出的结果。流计算着重在“实时”上,以此来解决上文提到的传统计算和数据处理面临的挑战。目前,流计算还在研发阶段,需要研究对不同类型数据的处理方式、处理性能、硬件架构、软件支持等问题,同时也需要业界逐渐接受这种新兴的计算模式。目前,IBM、Google、NVidia等公司都在进行流计算的研发,并推出了一些产品,例如,IBM的System S。

4.5大规模消息通信

云计算的一个核心理念就是资源和软件功能都是以服务的形式进行发布的,不同服务之间经常需要通过消息通信进行协作。可靠、安全、高性能的通信基础设施对于云计算的成功至关重要。通常,消息通信可以分为同步通信和异步通信两种方式。

在同步消息通信中,直接请求服务器端的服务,并等待服务结果返回后才继续执行;在服务器端,服务的运行环境则需要保存与客户端通信的信息,在处理完成时将结果返回给客户端。这种同步消息通信机制有可能对客户端系统的处理速度和服务器端系统的可用性造成影响:(1)客户端系统因为需要同步等待而无法并发处理任务;(2)同步通信机制造成服务器端系统资源长时间被占用,服务实例也由于需要与远程客户端通信而无法在任务处理完成时立即处理下一个任务;(3)同步消息通信会降低服务的可用性,因为在分布式环境中,客户端所请求的服务实例有可能因为各种原因而不可用,从而造成客户端请求无法得到处理。因此,异步消息通信对于云计算环境就显得尤为重要。

同类推荐
  • 科学伴你行-神奇的通信技术

    科学伴你行-神奇的通信技术

    在日常生活中,有时人们要借助于小旗子来进行通信联络,比如,开运动会时,发令员常常要用小旗子与计时员联系;当你乘坐火车进入车站时,都会看到车站工作人员拿着红色和绿色的小旗子在站台上进行指挥;在战争中,打出白色旗子表示投降,插上红色旗子表明胜利;航行在茫茫大海上的船只,双方船员会凭不同旗帜组成的标志,来了解对方的意思。以上种种用小旗子来“说话”的通信方式就叫做旗语。
  • 《Internet实用技术》作业集

    《Internet实用技术》作业集

    随着计算机应用的普及和社会信息化水平的提高,Internet已走进我们的生活。《Internet实用技术》这门课将带领我们走进网络的神秘殿堂,让我们认识网络,了解网络,进而学会使用网络,维护网络。其范围涵盖了在授课过程中所讲授的内容,题型多样,内容丰富,并附有两套模拟题,最后附有答案。学生可按照课程进度做习题来巩固和掌握知识。本作业集由李琳编写,由西北工业大学网络教育学院负责组稿和审定。因为时间仓促,水平有限,错误和不当之处在所难免,敬请读者批评指正。
  • 都是网络惹的祸

    都是网络惹的祸

    本书分网络游戏、网络聊天、网络隐私、网络网吧安全、网络文化、网络语言、网络犯罪、网络陷阱等栏目,从不同的视角探讨了在当今社会的网络现象。
  • 我看电商

    我看电商

    本书是作者近30年从事零售及电子商务管理的总结和分享。近年来电商行业在中国迅猛发展,2012年网络零售市场规模达到13,000亿人民币,诞生了淘宝、天猫、京东、当当、凡客、唯品会……等一大批全新的网络公司,电子商务正在日益深入的影响着越来越多人的生活。如今这位自称跨界老兵的电商操盘手第一次全方位剖析电商风云,细说中美电子商务发展的不同路径,评点国内各大电商企业的是是非非,详解其中的融资、模式、运营、效率……个中经验,毫无保留的娓娓道来,笔触至深,让人不禁掩卷沉思。
  • 信息安全

    信息安全

    我们不得不看到,全球信息化发展,使信息安全成为维护国家安全的重要屏障,信息安全问题正在为国与国之间带来新的制约关系。当然,这只是我们强调信息安全极端重要性的一个原因。事实上,信息安全已经上升为国家安全的重要组成部分,这是信息时代国家安全的明显特征,也是很多国家的共识。但与其他国家安全元素不同,如果脱离信息化发展的环境,“信息安全”只是一个抽象的目标,它要通过对国家的政治、经济、文化等方面的影响体现其对国家安全的意义,并以保障信息化发展为目标取向。因此,我们说信息安全是信息时代国家安全的基石。
热门推荐
  • 易魂之辉晨恋

    易魂之辉晨恋

    他,贵为王爷,却想要冲破政治联姻的束缚,寻觅一个只重他本心的女子结为连理;她,聪慧而平凡,生平只为牵手一人再不放手而奋斗。两个不在一个世界的人,因为情感而相互碰撞,最终能否突破障碍,从此相守?
  • 蝴蝶手铐

    蝴蝶手铐

    绑架景晨的犯罪嫌疑人到底是谁?手铐是怎样到了犯罪分子手里?恐怖分子买买提?依明一伙的阴谋是否得逞?案件最终能否得到侦破?一个又一个谜团随着故事的发展被一一破解。
  • 吃货萌妃闯荡天下

    吃货萌妃闯荡天下

    她是仙界公主,至高法力,完美面容,一次世界与世界的交易,让他们两个相遇碰撞出爱情的火花。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 巫宝奇缘

    巫宝奇缘

    古言有道:天下百业皆源自巫,此言极是,在矇昧时代,宗教领袖是巫师,治病救人的是巫医,指挥部落的是巫官,操持杂务的是巫工,搭缘牵线的是巫媒,主持葬礼的是巫仪,凡百事皆不离于巫,其起源大概是原始人一落地,就对广袤的空间和无限的时间感到压迫,不知道远方的尽头是什么,自己生命的尽头是什么,所谓“四面八方曰宇,古往今来曰宙”,对时空的威胁采取匍匐膜拜的方式,其实源自敬畏,之所以崇拜,是因为畏惧——对时空的畏惧,而要减轻畏惧,就要问鬼神,通天地,“巫”字上下两横代表天和地,中间两个人加一竖,就是问天喻地的意思,巫当然也就代表着对时空的探索,其实也就是对自然界的探索,尽管它的初始是乱力怪神的,但它的确就是现代科技的源头,近代许多科学家做研究的初衷其实是为了证明上帝的存在,却阴差阳错地发现了现代科学,实际上就是巫演化成了宗教,对巫的研究演化成了现代科学……那么作为科技的始祖,巫是否也曾经有现代科技一样的神奇,甚至其夺目的光彩盖过了现代科技?科技的意义实质上是满足理想,顺风耳,千里眼,预测天气,预报地震,上天潜水,这些都是巫时代的理想,现在它们都因科技而成为现实,那么巫时代真的仅仅只有理想?恐怕远远不是
  • 重生校园最强大小姐

    重生校园最强大小姐

    冷心邪肆,姿意妄为的第一天骄重回地球军校。废物?她用实力啪啪啪打脸。不服?她吊打各种天才,专治各种不服。她既能扮男撩妹无数,也能引无数强者竞折腰。面对高冷禁欲的长官,她照样调戏,壁咚,强吻之。几次三番撩拨,只为欣赏高冷长官纯情的一面。当她再一次向高冷长官的肉体伸出魔爪的时侯,高冷长官终于也学会反套路了。“做我女朋友就给摸。”这到底是摸还是不摸呢?书群号:231438075
  • 诺离

    诺离

    心口的剑,眼中的泪。她张口问着“为什么?”换来的却是一个背影,一句“再见”。那之后。他以为她早已死去,只将她放在心的角落思念。她在父母的安排下,换了心脏,忘了他的一切。再相遇,一切都变了。男孩当年的隐情,女孩如今的病情。父母精心下的安排,本想让她幸福,却将她推向了深渊。————“女儿,别怪我们。只有这样,你才能幸福。”————“诺离,你······想起我了么!”————“我要走了,希望你和他能幸福。”————“我就是你,你就是我。不过,我比你看得清楚多了。”
  • 吞噬星主

    吞噬星主

    意外身死的叶磊,转世为人成为了父母双亡的五岁孤儿拓跋荒。但靠着BUG一般的天赋,拓跋荒也独立的生存了下来,并且,小小年纪还混得风生水起。而后随着日渐长大,拓跋荒也开始了世界之旅,但就在其旅行的过程中,天宇危机爆发,面对人类生存,拓跋荒临危受命,任全星系人类领导者,率领大军来到了星域战场与敌人进行生死一战······最终结局如何?世界是否毁灭?详情请看此书
  • 你穿上婚纱的时候我就走

    你穿上婚纱的时候我就走

    慕柠亦:你出现的那年,我真的不记得王言亦:没事,我还记得慕柠亦:那你会离开吗?王言亦:……会慕柠亦:为什么?王言亦:因为那年的小女孩已经长大了慕柠亦:那什么时候离开想好了?王言亦:想好了慕柠亦:什么时候?王言亦:你穿上婚纱的时候我就走
  • 山庵杂录

    山庵杂录

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。