BookKeeper的本质认识

在大数据领域,人们关注的方向无非有两个:计算和存储。本文介绍的BookKeeper就属于存储领域的开源框架,它是一个分布式,可扩展,容错性(多副本),低延迟的存储系统,其提供了高性能,高吞吐的存储能力。

BookKeeper的诞生背景与设计灵感

BookKeeper由雅虎于2009年创建,并在2011年开源。

BookKeeper的设计灵感来源于Hadoop生态系统。熟悉大数据的朋友应该知道,Haddop生态系统的文件存储是HDFS,HDFS包含一种节点叫做NameNode,用于记录所有的操作,在宕机的时候可以通过这些记录进行恢复。BookKeeper基于NameNode,拓展了其功能,设计成了一个基于递增存储的存储系统,从而脱颖而出。

BookKeeper的应用场景

BookKeeper最非常成功的应用案例:Apache Pulsa。Pulsar是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台,据说大有取代Kafka的势头。但是,人们总是盲目乐观,在我看来,Apache Pulsa要想取代Kafka,还很不现实。

Kafka最初由Linkedin开发,并于2010年贡献给了Apache基金会,之后成为Apache顶级项目。相比而言,Pulsar则年轻很多,它于2016年开源并捐献给Apache基金会,并在2018年9月升级成为Apache顶级项目。Pulsar要想取代Kafka,并不容易啊。

另外,Kafka技术更新迭代更快,尤其是Kafka 2.8版本可以不依赖Zookeeper独立运行了。而且随着Kafka的母公司上市,Kafka的影响力只会变得更大,Pulsar要想取代Kafka,难上加难。

Pulsar最大的优势是存储方面。Kafka的单个Partition的存储容量受到了部署Kafka的Broker的硬盘容量限制,当有大量的数据需要MQ支持时,Partition可能会遇到瓶颈而无法扩展。而BookKeeper则为Pulsar提供了存储计算分离的架构支持,从而能分别扩展,这是Kafka不具备的特性。

标签: none

添加新评论