Kafka工作流程 —— topic(主题) , partition(分区)

同一个数据的leader 和 follower 一定不在同一个节点内(broker id 不同),放在一个区内毫无意义,挂掉了都挂掉了。(副本follower存在的意义就在于当leader挂掉时可以通过副本来恢复数据)。

  1. Kafka 中消息是以 topic(主题:作用就是分类) 进行分类的,生产者生产消息,消费者消费消息,都是面向 topic 的。(生产者和消费者都连接一个主题,要指定主题是谁,要往哪个主题发送消息,要从哪个主题拉取数据等)

  2. topic 是逻辑上的概念,并不实际存在,而 partition是物理上的概念,是实际存在的,每个partition 对应于一个log文件,该log文件中存储的就是producer生产的数据。producer生产的数据会被不断追加到该log文件的末端,且每条数据都有自己的 offset(数据偏移量)。消费者组中每个消费者,都会实时记录自己消费到哪个 offset , 以便出错时恢复。

分区的原因:
(1)方便在集群中扩展,每个partition可以通过调整以适应它所在的机器,而一个topic 又可以由多个 partition组成,因此整个集群就可以适应任意大小的数据。
(2)可以提高并发,因为可以以partition为单位读写了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值