构建的可伸缩性和达到的性能:一个虚拟座谈会
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
- Architecture, Java, .NET, Ruby,
作者 Scott Delap译者 张海龙 发布于 2007年8月17日 上午5时55分
类似Google构架的开源项目Hadoop 已经存在一年多了,现在正受到来自开发社区的广泛关注。下面是来自Hadoop官网 的消息:
Hadoop是一个软件平台,可以让你很容易地开发和运行处理海量数据的应用……Hadoop是MapReduce 的实现,它使用了Hadoop分布式文件系统(HDFS)。MapReduce将应用切分为许多小任务块去执行。出于保证可靠性的考虑,HDFS会为数据块创建多个副本,并放置在群的计算节点中,MapReduce就在数据副本存放的地方进行处理……
Hadoop是由Java编写的,该项目已到得Yahoo的全面支持,项目的领袖Doug Cutting从2006年一月开始已经被Yahoo全职雇用于此项目中。华盛顿大学也从那时开始了一个以Hadoop为基础的分布式计算的课程,课程相关的材料也已发布 在Google Code了,以满足那些对这项技术感兴趣的开发者们。
最近,Yahoo的Jeremy Zawodny提供了 一个Hadoop的状态更新:
在过去的几年里,每家参与建立大规模Web系统的公司都面临着一些相同的基础性挑战……底层架构从来都是一个挑战。你不得不去购 买、并大量安装和管理众多的服务器,即使你使用的是其他人提供的商业硬件平台,你也不得不开发软件对这些任务进行分治处理,并让其保持运行……要建立一个 必要的软件基础结构,我们可以放弃开发自己的技术,这可以认为是一项竞争优势,先赚到钱再说。但我们已经选择了一条稍有不同的路,当认识到有越来越多的公 司和组织的需求都很相似的时候,我们发现了Doug Cutting(开源项目Nutch和Lucene的开创者)的工作,于是我们邀请他加入Yahoo,在新的开源项目Hadoop上继续工作。
Zawodny去年一直工作于提供数据排序的基准评测,在测试中,每一个节点都对相同总和的输入数量进行排序。 假如有20个节点,每个节点有100条记录,那么就有2000个记录需要排序;当有100个节点时,每个节点有100条记录,那就总共有10000条记 录。下面是最近的评测结果:
| 日期 | 节点数 |
耗时(小时) |
|
| 四月 | 2006 | 188 | 47.9 |
| 五月 | 2006 | 500 | 42.0 |
| 十一月 | 2006 | 20 | 1.8 |
| 十一月 | 2006 | 100 | 3.3 |
| 十一月 | 2006 | 500 | 5.2 |
| 十一月 | 2006 | 900 | 7.8 |
| 七月 |
2007 | 20 | 1.2 |
| 七月 | 2007 | 100 | 1.3 |
| 七月 | 2007 | 500 | 2.0 |
| 七月 | 2007 | 900 | 2.5 |
Tim O'Reilly找出了 Zawodny所发的帖子,并从中发现了来自于Yahoo的高层支持:
……Yahoo! 已经在一月聘用了Hadoop的创始人Doug Cutting,但Doug在开源大会上的谈论 ,更像是Hadoop的发布会,Yahoo! 也想以此表明Hadoop项目对他们来讲有多么重要。实际上,我还接到David Filo打来的电话,他想确认我是否知道这种支持来自于高层……
…… 为什么Yahoo! 的参与这么重要?首先,这预示一个搜索界第二大的公司认识到开源是在Web 2.0上与一个占统治地位的对手进行竞争的强大武器……支持Hadoop和其它Apache项目不仅仅只是让Yahoo深入到他们可以使用的开源软件项目 中,更会帮助他们恢复在极客(geek)心中的形象……其次,或是同样重要的是,Yahoo! 给了Hadoop一个机会进行规模方面的测试……
John Munsh用一句话总结了 Yahoo的参与:“Hadoop和‘非我发明症(Not-Invented-Here Syndrome)’之反例”。(译者注:John Munsh在这里用“非我发明症”来指Microsoft那种不愿意接受任何协议,标准,或是其他公司开发的软件的态度。它认为不是自己创造的东西就是不 值得信任的。而Yahoo! 却基于竞争对手Google的MapReduce来构造自己的应用,所以这里说是“非我发明症”之反例。)
微软的Sriram Krishnan则从那些 转到类似Hadoop和Amazon EC2这种针对大规模应用并在不断发展的解决方案的创业者和开发人员所面对的问题的角度,对Hadoop提出了反对意见:
Web 2.0的主要价值来自于由众多用户生成的数据,如del.ico.us、Digg、Facebook……它已经超越了任何个人运行大规模的服务器软件的商 业意义,如Gmail、Google Search、Live、Y! Search……放荡不羁的极客们根本就不会去碰那些大规模blob存储(S3,Google文件系统),大规模结构化存储(Google的 Bigtable),还有在这种微架构之上运行代码的工具(MapReduct,Dryad)等等……我也不知道Doug Cutting的这种类似的开源产物在这条路上已经走了多远——也许这就是答案吧……查看英文原文:Open Source Google-Like Infrastructure Project Hadoop Gains Momentum
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。
《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。
没有回复
回复