海量数据平台的架构,真的是前端、后端都会关注的大课题。Chukwa的高性能数据采集系统,挺适合需要对日志做批量的场景。你用过 Hadoop 的就知道,它跟HDFS的配合,简直天作之合。
数据采集用的Kafka、TimeTunnel这些工具,在高并发数据流的时候,稳定性和吞吐量都还不错。Chukwa
负责采,Map/Reduce
负责算,流程清晰,部署灵活,适合大数据平台打底。
讲到存储,Hadoop 的HDFS是真的老江湖了,NameNode + DataNode
架构,简单高效。一个大文件切成多个block
分布式存放,容错也强。你要是遇到突然的节点宕机,它还能自己修复副本,挺省心的。
整个方案,适合那种数据量大、响应要求不高的后台任务,比如训练个推荐模型,或者跑个搜索引擎的索引更新,妥妥的。你要是想搞个离线平台,参考这个架构基本不会错。
对了,如果你对MapReduce感兴趣,可以看看这篇讲 MapReduce 框架的文章,还有这篇 Hadoop 的存储结构也值得一读。