登陆注册
19092800000014

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

同类推荐
  • 图说电子计算机

    图说电子计算机

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

    计算机网络技术与应用

    本书共8章,系统地介绍了计算机网络的发展和基本原理体系结构、局域网、广域网、网络服务、网络安全、典型网络的结构特点等内容。除第8章外,其他各章都附有练习题。为了加强学习效果,本书围绕知识点的典型性,精选了6个实验。此外,在本书的第8章,我们综合各章知识设计了“办公局域网组建设计”和“中小型企业局域网组建设计”这两个常用的计算机网络技术应用实例,供学生学习和参考。本教材适合作为本科非计算机专业学生的计算机网络教材。
  • 中文版AutoCAD2005建筑绘图精讲精学

    中文版AutoCAD2005建筑绘图精讲精学

    本书从中文版AutoCAD2005建筑绘图的基础进行介绍,讲解了建筑绘图的环境设置、二维建筑图形的绘制、二维建筑及装饰图形的编辑、建筑绘图中的文字标注和图形查询、建筑装潢平面图中的尺寸标注、建筑绘图中图块的应用、建筑平面图的绘制、建筑立面图的绘制、建筑剖面图的绘制、建筑绘图中的三维造型、三维建筑模型绘制及建筑图纸的布局与打印输出等内容。
  • 下一代互联网

    下一代互联网

    本书系统介绍了下一代互联网的进展情况,包括下一代互联网的概念解析,国内外下一代互联网的最新发展情况,下一代互联网的关键技术进展,以及各国发展下一代互联网的政策计划。最后分析了下一代互联网对未来社会的影响,提出我国发展下一代互联网的政策建议等。全书共6章,包括互联网发展历史和现状,下一代互联网基本概念,下一代互联网研究最新进展,下一代互联网发展现状,我国发展下一代互联网现状,发展下一代互联网战略建议。
热门推荐
  • 帝后江山

    帝后江山

    她是姜国公主?是齐国尚书之女?这一切都要从十八年说起................乱世枭雄,美人沉浮,争得是那权力,更是美人。身为姜国公主她别无选择,因为在那个时代,弱肉强食。只能用和亲这种手段保住一个国家。身为公主便有许多是身不由己。他是齐国帝王,是高高在上的孤家寡人。她的出现,是否会对他有别的意义?亦或是..........身为强国帝王,他身上背负着太多,国家的兴盛与沉浮。后宫与前朝永远是盘根错节。当她得知一切有该何去何从..............
  • 都市甘少

    都市甘少

    主角:甘希文,他自己没什么能耐,学习也不好,为什么走到哪里都有女生爱,因为一场意外,掉入一个山谷。得到一件传说级的神棍看甘希文如何保卫自己的老婆
  • 嚣张帝女:腹黑邪帝很难缠

    嚣张帝女:腹黑邪帝很难缠

    她叫苏染墨,出生前为苏家的嫡女,身份显赫,出生后,被弃之于青雾森林中,被路过的无泪宫宫主所救,认为养女,身份更是无比尊贵,而身世却又扑朔迷离。当她崛起复仇之时,巧遇腹黑难缠的他……“女人,除了我之外,不许靠近任何雄性生物。”某女不以为然“滚”。
  • 遇见爱复仇的你

    遇见爱复仇的你

    “对不起,对不起!”上官敏欣喃喃自语。【数年后】“敏欣,敏欣!我终于找到你了!我终于找到你了……”南宫沐泽激动地语无伦次。“你是谁啊?你怎么知道我的名字?我不记得我见过你啊?”······“妈咪妈咪!爸比捏?”某位萌娃软糯糯的声音传来。“妹妹,你不高冷!”某位小屁孩面瘫的嫌弃着自己的妹妹。
  • 阵界珠

    阵界珠

    这是一个牢笼的世界,每一个人都身处牢笼之中,每一个天隐大陆上的修士都失去了飞升上界的希望,一个天生灵魂强大的少年通过一系列机遇,得到兄弟灵兽,获得上界修士传承,勇闯秘境,加之自己的不断努力和生死磨砺最终突破牢笼,开辟一段诸天万界的不朽传奇!本书故事是一个多彩的诸天万界,无论是修真还是魔法乃至科技都将应有尽有,不过本书重点是修真玄幻。
  • 乐瑶上仙

    乐瑶上仙

    乐瑶山,位于莱州城外浩瀚的北海。丰贝师出神女峰,却胆敢自创一派。乐瑶派,在短短的十年间成为“第一仙派”!面对三界发生的巨变,乐瑶派上仙池冰悦、池丹灵会如何抉择呢?苍生的命运将会如何?天机门又藏有什么秘密呢?
  • 海贼王之最强狙击手

    海贼王之最强狙击手

    与原着不同,丸子加了自己设定的情节,一个不一样的乌索普,一个更加真实的乌索普,在这里将有许多人味,每一个人物,丸子都赋予了自己心中的性格。比如乌索普,原着中胆小,但是面对危险勇于面对,这就是勇气。而丸子的乌索普,有着一般人的心态,面对危险会恐惧,但也勇于担当,这就是丸子笔下的乌索普主角:赵程(乌索普)能力:门门果实总之是本轻松的小说。QQ群:75700786
  • 神奇宝贝之我是妖精只梦琪

    神奇宝贝之我是妖精只梦琪

    我千紫妖精,生于一个有5000年历史的古老世家,我很排斥这个充满神奇宝贝的世界,我性格很孤僻,唯一喜欢的事就是探索与发现,这一次我在研究我身上唯一只神奇宝贝时,不幸被封印与画中,灵魂突然脱离肉体,尝试了几次也无法回去,因是灵魂状态,我无法在继续研究。于是我脑海里酝酿出一个胆大的想法,那就是穿越。我梦琪。出生时被父母抛弃,在孤儿院长大成人,充满仇恨与不甘的我,踏上了艰苦的旅途。10年后我成功了,我现在所坐的地方,是人人都想要得到的位子,天空深蓝一片,犹豫污染,那里已经很多年没有星星的出现了,叹了口气“这个虚情假意的世界我已经受够了!!”“我用神奇宝贝的世界来换你此时厌恶的时空,这个交易你看如何!”“真的!那真是太好了,帮了大忙了!”“从现在开始你就是千紫妖精。。你不在是梦琪。祝你好运,妖精。。”
  • 最后的开启者

    最后的开启者

    那一年,我们共同欢乐...那一年,我们共同悲伤...那一年,我们共同成长...那一年,在那个时代中,传来了一阵又一阵的欢笑声、怒吼声、嬉闹声,在一个网络还不算成熟的时期,我们见证了这一切。为之我们付出过,努力过,创造过,让它变的更为真实,感受着无限的快乐。现在的我们已经长大,为了生活各自奔波,没有多少的时间再去幻想,而那个世界也早已物是人非,没有以前的结伴同行,没有以前的相依相存,所有的一切已经改变了。在此,以文书的形式祭奠那一年的《魔力宝贝》,让我们拿上各自的武器,拾起当时的梦想,拥抱回忆,再续前缘!文中部分内容借鉴于《魔力宝贝》的剧情,包括人物名称,魔物,以及部分历史和任务资料等,如有侵权行为,请联系本人,本人将会在第一时间做出整改和删除。
  • 灰黑白

    灰黑白

    中国式犯罪,侦探题材小说,涉及到三代人百年的对抗历程,神秘莫测的组织,匪夷所思的案件,莫名其妙的联系。人人都是棋子,人人又都是持棋者,庄周梦蝶,还是蝶梦庄周。