登陆注册
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)同步消息通信会降低服务的可用性,因为在分布式环境中,客户端所请求的服务实例有可能因为各种原因而不可用,从而造成客户端请求无法得到处理。因此,异步消息通信对于云计算环境就显得尤为重要。

同类推荐
  • 中国网络传播研究2009(第三辑)

    中国网络传播研究2009(第三辑)

    本文以传统社区研究的“场域论”为基础,探讨网络传播中场域性互动对社会舆论的影响。文章首先从传统社区传播的场域性特征出发,探讨网络传播的社区性和场域性。然后分别分析了传统门户、BBS论坛和私人博客等三种主流的网络传播的场域性互动、意见表达和舆论形成的特点。最后结合“张殊凡事件”、“王石捐款”事件以及“黑砖窑”事件,探讨网络传播中的场域性互动对社会舆论从虚拟到现实的影响。
  • 图说电子计算机

    图说电子计算机

    今天人们谈到计算机常常会把它和网络联系起来。20世纪90年代兴起的因特网其影响之广、普及之快也是大家始料未及的,也从没有一种技术能像网络一样日新月异,并迅速地改变着我们的学习和生活方式。因特网大大缩小了时空界限,为我们提供了快捷方便的交流途径。在未来10年内,计算机又将会有怎样飞速的发展呢?在互联网上进行医疗诊断、远程教学、电子商务、视频会议等活动已经实现,未来的互联网的传输速率将会提高100倍,大家可以随时随地连接到因特网上,更方便地进行交流、沟通和开展商务活动。
  • 如何选购电脑

    如何选购电脑

    本书以问答的形式介绍了选购电脑的基本知识。内容包括:电脑的组成、选购电脑的技巧、主机的部件构成、主板的主要类型、CPU的性能指标等。
  • 网络广告经纪人

    网络广告经纪人

    本书为网络广告经纪人培训认证的指定教材,该认证是商务部中国商务广告协会和信息产业部中国电子商会联合推出的,旨在为国家造就和培养出一大批网络广告梯队型人才。该教材包括网络广告经纪人的介绍和发展趋势,以及网络广告的原理、策划、设计、制作、发布与交换、效果评估、管理,以及网络广告营销的国内外最新的成功案例,还提供了一些常用的网络广告制作工具。本教材适合助理网络广告经纪人和网络广告经纪人层次使用。也可作为高校广告、电子商务等专业的教材。
热门推荐
  • 天行

    天行

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

    死神傲骨:绝魅风华

    那年,那天,命运将她推向了深渊,从此,死神出世。她,代号死神,第一杀手,以鬼面行天下。相传,她是个面似獠牙的男人;相传,她是个面容清秀的侏儒。然而这只是传说,真正见过她的人都已和阎王聊天去了。他,身份不明,来历不明,貌似天人,身边却从没有过女人,冷酷嗜血是他的代言词,然而却对她......片段一:“人不犯我,我不犯人;人若犯我,斩草除根。我绝不容许再有人伤害我的亲人,即使是威胁也不行。”风华冰冷的双眸直视着对面的黑衣人。片段二:“你若死了,我便去陪你,碧落黄泉,生死相随,不离不弃,你听到没有。”男子浑身颤抖双眼通红的对怀中奄奄一息的绝美人儿吼道。世上最美的誓言不是“我爱你”而是“我陪你”。
  • 傲世凰天

    傲世凰天

    2012年,来自未知世界的流星雨拉开了暗黑血腥的序幕。动植物进化,兽潮来袭,人类被逼迫至弹丸之地。有人说:这是世界末日。也有人说:这是新人类时代。林伊却发现这个男人真的变态。表面上斯文儒雅,但私底下尾随偷窥,自残索吻!哎呦喂,我的爷,让我安安静静拯救世界不好吗?
  • 祁姝传

    祁姝传

    年仅15岁的聂祁姝,觉得她的人生就是个悲剧,父母相继离世,最疼爱的弟弟也病亡,被整个家族厌弃,迫不及待的把她嫁给八十多岁的武安伯,难道真的是红颜薄命?不,不是的,原来一切都是阴谋,要奋起,要反抗,且看她后宅中如何斗败奸佞,后宫中如何叱咤风云,然而当一切真相都水落石出,她又情归何处呢......ps:爽文,喜欢的小伙伴收藏一下吧~另:架空历史,考据党慎入!
  • 纵域天涯

    纵域天涯

    出生是罪恶,生存是苟延。芸芸众生,大千世界。他乃为沧海一粟。只是仰望苍穹,任岁月流逝如是。他踏往混世。随戾而来,随气而去。他欲纵域江河,凌霄天涯!
  • 玉洞大神丹砂真要诀

    玉洞大神丹砂真要诀

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

    言语

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

    伏龙风云

    【玄幻王朝争霸战争系列小说】看看这个世界的水,到底有多深。三王时代过后,作为胜利方的人类,迎来对大陆主导权,可表面平静的人类社会下,却隐藏着一个惊天秘密,而这个秘密却因为一个人的出现,从而慢慢被挖出......玄幻战争系列小说,铁血,侠义,剧情,人性,争霸,尔虞我诈,这是一个你值得感受的世界
  • 天行

    天行

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

    天行

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