1:概念和特点
>>是一个消息队列,符合先进先出的原则,它是一个处理流数据的消息系统
>>实时高效的流处理,也就要求支持高吞吐量,需要支持多并发的消费者消费
>>分布式集群,存储在kafka上的数据,和HDFS一样,有副本机制。
>>依赖分布式协调服务zookeeper,包括hadoop生态圈中的HDFS,yarn,Hbase都要依赖zookeeper比如Hbase中master的选举,就是依赖于zookeeper的。Kafka也是通过zookeeper服务实现分布式协调当生产者和kafka集成的过程中,需要先把一些内容(topic的相关信息)写入到zookeeper中,消费者向Kafka消费一个内容也需要先向zookeeper读取内容。
如下图所示
对于kafka和zookeeper,类似于HDFS中,datanode对于namenode,kafka的topic一些信息会存放到zookeeper上,用来索引topic对于toipic的内容,可以放到不同的partition上,并且存储在partition上的数据是有副本备份的。发送的消息,是基于内存,内存满了再放到本节点的磁盘上。