大数据学习之Kafka相关的基本原理学习
大数据学习之Kafka相关的基本原理学习,小编整理了Kafka一些重要概念,让大家对Kafka有个系统的认知知,并详细的解析其中每个概念的作用以及更深入的原理。
Kafka相关的名词概念:
?Producer:消息生产者,向Kafka Broker发消息的客户端。
?Consumer:消息消费者,从Kafka Broker取消息的客户端。
?Consumer Group:消费者组(CG),消费者组内每个消费者负责消费不同分区的数据,提高消费能力。一个分区只能由组内一个消费者消费,消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者。
?Broker:一台Kafka机器就是一个Broker。一个集群由多个Broker组成。一个Broker可以容纳多个Topic。
?Topic:可以理解为一个队列,Topic将消息分类,生产者和消费者面向的是同一个Topic。
?Partition:为了实现扩展性,提高并发能力,一个非常大的Topic可以分布到多个Broker(即服务器)上,一个Topic可以分为多个Partition,每个Partition是一个有序的队列。
?Replica:副本,为实现备份的功能,增加集群中的某个节点发生故障时,该节点上的Partition数据不丢失,且Kafka仍然能够继续工作,Kafka提供了副本机制,一个Topic的每个分区都有若干个副本,一个Leader和若干个Follower。
?Leader:每个分区多个副本的“主”副本,生产者发送数据的对象,以及消费者消费数据的对象,都是Leader。
?Follower:每个分区多个副本的“从”副本,实时从Leader中同步数据,保持和Leader数据的同步。Leader发生故障时,某个Follower还会成为新的Leader。
?Offset:消费者消费的位置信息,监控数据消费到什么位置,当消费者挂掉再重新恢复的时候,可以从消费位置继续消费。
?ZooKeeper:Kafka集群能够正常工作,需要依赖于ZooKeeper,ZooKeeper帮助Kafka存储和管理集群信息。