kafka-基本概念

  1. 主题(topic):一组消息抽象为一个主题,相当于分类
  2. 消息(Message):消息是kafka通信的基本单位,由一个固定的消息头和不固定的消息体组成
  3. 分区和副本:一组消息归类为一个主题,而一个主题由1~n个分区组成。每个分区里的消息是有序的,不可变的,不同的分区之前不能保证有序性
  4. Leader副本和Follower副本:由于存在副本,所以kafka会保证数据的一致性,kafka会选择分区中的一个副本作为Leader 副本,其他副本作为Follower 副本,只有Leader副本负责客户端的读/写请求,Follower副本从Leader 副本同步数据
  5. 偏移量:任何发布到分区的消息会追加到日志文件中,分区目录下以.log后缀的文件每个消息再日志文件中的位置都是按照一个递增量进行按序递增。每个 消费者进行消费的时候,必须进行有序消费,不支持随机读取消息
  6. 日志段:一个日志又被分为多个日志段,日志段是kafka中最小单位,一个日志段对应磁盘上的一个.log文件和两个索引文件,索引文件分别以.index 和.timeindex结尾
  7. 代理:kafka集群就是由1个或者多个实例组成,每个实例成为代理(broker) 
  8. 生产者:负责推送消息给代理
  9. 消费者和消费组:消费者以拉取的方式进行获得消息,每个消费者所属某个消费组,同一个消息只能被同一个消费组下的某个消费者消费,但不同的消费组下的消费者可以进行消费同一个消息,消费组是kafka 对广播和单播实现的手段
  10. ISR:kafka再zookeeper中动态维护了一个Isr ,即保存同步的副本列表,该列表中保存的是与leader副本同步的代理节点的id
  11. zookeeper:kafka利用zookeeper进行存储相应的数据

你可能感兴趣的:(kafka,kafka)