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的内容保证稳定性 |
文章图片
zookeeper在kafka中的角色 【Kafka简明教程(生产过程)】zookeeper为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。它可以保证一致性和分区容错性,在kafka中zookeeper为broker,producer和consumer提供一致的配置信息。在下面的讲解中我们将会具体展示。
生产过程
- produce会计算本条消息需要发送的partition。
- produce根据发送的分区,向zookeeper获取对应partition的leader信息,发送消息到leader所在的broker。
- leader在本地记录该消息。
- follower通过轮询监控到leader新写入消息,主动拉取消息。
- follower同步消息成功向leader发送ack。
- leader收到所有follower同步的消息,向producer发送确认ack。
-
文章图片
推荐阅读
- Kafka与ELK实现一个日志系统
- 基于 Kafka 的实时数仓在搜索的实践应用
- 基于|基于 Kafka 的实时数仓在搜索的实践应用
- kafka|kafka 基础知识 第一讲
- kafka|Kafka+采集用户信息行为+flume整合(鼠标停留时间)
- Kafka 索引文件
- kafka3.x原理详解看这篇就够了
- librdkafka配置参数
- 深入浅出谈一下有关分布式消息技术(Kafka)
- 15.Kafka