完成了 HBase 的相关内容的梳理,我们把目光转到同样在流数据处理领域应用非常广泛的分布式组件 Kafka,作为一个消息队列,它与分布式数据库 HBase 不同,它的主要功能不是数据的存储,而是在各个系统之间起一个缓冲的作用,言简意赅又不失准确地总结一下就是解系统耦合和流量削峰。本篇按照大数据组件学习的方法,从基础讲起,逐层递进,深入底层,掌握原理,助力面试。
本篇面试内容划重点:一致性与可用性、ISR、存储结构、快的原因。 **
进程的职责与交互逻辑?
按照惯例,我们举个有意思的例子,Kafka 的数据是以日志的形式顺序存储的,所以整个 Kafka 集群看起来就像是图书馆,这家图书馆有多家分店(Broker),图书馆管理员(producer)同一本书会买三本(replica)分发到各分店里,这样能保证一家店的书损坏了顾客可以去另一家店继续看书,另外图书馆还有一个图书检索网站(Zookeeper)记录了图书的信息和顾客的信息(元数据)