乐趣区

关于kafka: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 的各种概念的关系。

zookeeper 在 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。
退出移动版