Kafka简明教程(生产过程)

基本概念 kafka中的生产过程设计多个概念的配合,理清这些概念的关系,有利于理解kafka的生产机制。

角色 作用
producer 生产消息,向kafka推送消息,非kafka组件之一
topic 逻辑概念,用于组织一类消息
broker broker运行着kafka实例
partition 存储同一个topic的分区(多个分区共同存储一个topic的消息)
replication partition的副本,为保证稳定性,同一个partition需要在不同broker上设置备份
leader partition的众多replication的一个,生产方向其中写入,消费方从中读取
follower partition除leader外的replication。用于备份partition的内容保证稳定性
下图直观反映了kafka的各种概念的关系。
Kafka简明教程(生产过程)
文章图片

zookeeper在kafka中的角色 【Kafka简明教程(生产过程)】zookeeper为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。它可以保证一致性和分区容错性,在kafka中zookeeper为broker,producer和consumer提供一致的配置信息。在下面的讲解中我们将会具体展示。
生产过程
  1. produce会计算本条消息需要发送的partition。
  2. produce根据发送的分区,向zookeeper获取对应partition的leader信息,发送消息到leader所在的broker。
  3. leader在本地记录该消息。
  4. follower通过轮询监控到leader新写入消息,主动拉取消息。
  5. follower同步消息成功向leader发送ack。
  6. leader收到所有follower同步的消息,向producer发送确认ack。
  7. Kafka简明教程(生产过程)
    文章图片

    推荐阅读