kafka集群架构

  • broker

  • topic

  • partition:分区,把同一个topic分成不同的分区,提高负载

    • leader:分区的主节点
    • follower:分区的从节点
  • Consumer Group

生产者往kafka发送数据的流程

在这里插入图片描述

  1. 生产者从Kafka集群里面获取分区leader信息
  2. 生产者将消息发送到leader
  3. leader将信息写入本地磁盘
  4. follower从leader中拉取消息数据进行备份
  5. follower将数据写入本地磁盘后给leader发送ACK确认
  6. leader收到所有的follower的ACk之后会向生产者发送ACK确认

kafka选择分区的模式(三种)

  1. 指定往哪个分区写
  2. 指定key,kafka会根据key做hash然后决定写哪一个分区
  3. 轮询的方式,

生产者往kafka发送数据的方式

  • 0 : 把数据发给leader即可 (效率极高,安全性最低)
  • 1 : 把数据发送给leader,等待leader回ACK
  • null : 把数据发给leader,确保follower从leader拉取数据回复ACk给leader,然后leader再去回复ACK给生产者(安全性最高的)
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐