模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Stefan Tilkov 译者 高昂 发布于 2007年6月26日 下午9时0分
在一篇blog文章中,微软的Dare Obasanjo为大家分享了Google在Seattle召开的有关可拓展性(Scalability)的会议笔记,笔记的内容由Google员工Jeff Dean的发言整理而来,内容包括“MapReduce,BigTable,以及其他处理大规模数据集的分布式系统抽象方式”。根据Dare的笔记,讨论内容涉及Google目前三种主要的大规模可拓展架构:GFS(Google File System),提供大规模数据集并行处理能力的软件基础设施MapReduce,以及为结构数据提供分布式存储的BigTable。
报告包含Google软件基础设施许多引人入胜的特性。关于GFS:
目前Google拥有超过200个的GFS集群,其中有些集群的计算机数量超过5000台。Google现在拥有数以万计的连接池从GFS集群中获取数据,集群的数据存储规模可以达到5个PB,并且集群中的数据读写吞吐量可达到每秒40G。
MapReduce方面:
开发者只需要为数据集编写特定的Map/Reduce操作,有时甚至只需25-50行代码就够了,而MapReduce软件微架构会处理并行任务并且向分布在各处的计算机分发任务,同时处理机器错误和数据中的错误条件并进行优化操作,例如把计算过程推移到靠近数据的一方执行来减少I/O带来的带宽消耗,还提供了系统监控并且通过数以千计的计算机保持服务的可拓展性。
关于BigTable:
BigTable不是一个关系型的数据库。它不支持关联或是类似于SQL的高级查询。取而代之的是多级映射的数据结构。这是一种面向大规模处理、容错性强 的自我管理系统,拥有TB级的内存和PB级的存储能力,每秒可以处理数百万的读写操作。目前,BigTable正在为Google六十多种产品和项目提供 存储和结构化数据获取的支撑平台。
对于那些想自己尝试Map/Reduce操作的人来说,Apache Lucene的子项目Hadoop提供了MapReduce的实现方式,以及类似于GFS的分布式文件系统HDFS,Hadoop项目对于你来说将可能会是个不错的开始。
查看英文原文:Google Scalability Session Report
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
没有回复
关注此讨论 回复