HDFS(Hadoop Distributed File System)作为Hadoop下的一个子项目,是目前使用极为广泛的分布式文件系统。它的设计目的是提供一个高容错,且能部署在廉价硬件的分布式系统;同时,它能支持高吞吐量,适合大规模数据集应用。这一目标可以看做是HDFS的架构目标。显然,这样的架构设计主要还是满足系统的质量属性,包括如何保证分布式存储的可靠性,如何很好地支持硬件的水平扩展,如何支持对大数据处理的高性能以及客户端请求的高吞吐量。所以,HDFS的架构设计颇有参考价值,在Hadoop的Apache官方网站上也给出了HDFS的架构指南。在The Architecture of Open Source Applications卷I的第8章也详细介绍了HDFS的架构。
HDFS的高层设计看起来很简单,主要包含NameNode与DataNode,它们之间的通信,包括客户端与HDFS NameNode服务器的通信则基于TCP/IP。客户端通过一个可配置的TCP端口连接到NameNode,通过ClientProtocol协议与NameNode交互。而DataNode使用DatanodeProtocol协议与NameNode交互。一个远程过程调用(RPC)模型被抽象出来封装ClientProtocol和Datanodeprotocol协议。

微软研究院首席研究员Leslie Lamport发表了文章

今天的心情难以用言语表达。打开公司邮件,看到邮件“ThoughtWorks Declares Tuesday January 15, 2013 as Day of Remembrance for Aaron Swartz”,有一种被震惊的感觉。虽然我与Aaron素昧平生,但只要了解他的生平,就不由不对他产生敬意。这是一位天才,可是如今却像流星一般陨落了。让我感叹生命如此无常的,还在于我恰恰在大约1个月前的公司视频会议上看到过Aaron,当时Aaron身陷美国联邦检查官的起诉中。Roy为此表示愤慨,并组织召开了此次视频会议,Aaron也有出席。在视频中,Aaron瘦削的面庞,蓬松的头发,以及略带忧郁的眼神,确乎很有极客的风范。然而,怎么也想不到,这最初的一面,就成为了最后一面。生命真是残酷。
CQRS由Greg Young提出,目前在DDD领域中被广泛使用。在我看来,它甚至可以被称为是一种架构风格,可以取得与MapReduce,REST同等的地位,对软件系统的整体架构产生重要影响。