kafka系列一:基本概念(1)

1.主题(topic)

kafka将一组消息抽象归纳为一个主题(topic),一个主题就是对消息的一个分类。生产者将消息发送到特定的主题,消费者订阅主题或主题的某些分区进行消费。

2.消息

消息是kafka通信的基本单位,由一个固定长度的消息头和一个可变长度的消息体构成。

3.分区和副本

Kafka 组消息归纳为 个主题,而每个主题又被分成 个或多个分区( Partition
个分区由 系列有序、不可变的消息组成,是一个有序队列。
每个分区在物理上对应为 个文件夹,分区的命名规则为主题名称后接“一”连接符,之
后再接分区编号,分区编号从 开始,编号最大值为分区的总数减 每个分区又有 至多个
副本( Replica ),分区的副本分布在集群的不同代理上,以提高可用性 从存储角度上分析,
分区的每个副本在逻辑上抽象为一个日志( Log )对象,即分区的副本与日志对象是一一对应
每个主题对应的分区数可以在 Kafka 启动时所加载的配置文件中配置,也可以在创建主题
时指定 。当然,客户端还可以在主题创建后修改主题的分区数。
分区使得 Kafka 在井发处理上变得更加容易,理论上来说,分区数越多吞吐 越高,但这
要根据集群实际环境及业务场景而定。同时,分区也是 Kafka 保证消息被顺序消费以及对消息
进行负载均衡的基础。
Kafka 只能保证 个分区之内消息的有序性,并不能保证跨分区消息的有序性 每条消息
被追加到相应的分区中,是顺序写磁盘,因此效率非常高,这是 Kafka 高吞吐率的 个重要保
证。同时与传统消息系统不同的是, Kafka 并不会立即删除已被消费的消息,由于磁盘的限制
消息也不会 直被存储(事实上这也是没有必要的),因此 Kafka 提供两种删除老数据的策略,
是基于消息己存储的时间长度, 是基于分区的大小。这两种策略都能通过配置文件进行配
置。

4.Leader副本和Follower副本

由于 Kafka 副本的存在,就需要保证一个分区的多个副本之间数据的一致性, Kafka 会选
择该分区的一个副本作为 Leader 副本,而该分区其他副本即为 Follower 副本,只有 Leader
本才负责处理客户端读/写请求, Follower 副本从 Leader 副本同步数据。如果没有 Leader 副本,那就需要所有的副本都同时负责读/写请求处理,同时还得保证这些副本之间数据的一致性,假设有 个副本则需要有 条通路来同步数据,这样数据的一致性和有序性就很难保证
引入 Leader 副本后客户端只需与 Leader 副本进行交互,这样数据一致性及顺序性就有了
保证 Follower 副本从 Leader 副本同步消息,对于 个副本只需 n-1 条通路即可,这样就使得
系统更加简单而高效。副本 Follower Leader 的角色并不是固定不变的,如果 Leader 失效,
通过相应的选举算法将从其他 Follower 副本中选出新的 Leader 副本。

5.偏移量

kafka的偏移量(offset)是一个用于跟踪消费者在特定分区的消费进度的指标。在kafka中,每个分区都有一个偏移量,消费者可以使用偏移量来确定它们在分区中的位置并决定从哪里开始消费消息。消费者消费消息后,偏移量会随之增加,表明已经消费了该消息。

偏移量通常存储在kafka的主题中的特殊的内置主题__consumer_offsets中,并由kafka集群负责维护和跟踪。通过使用偏移量,kafka能够精确地知道每个消费者在每个分区中的位置,以确保可靠地传递消息。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

有帮助,可以添加VX:vip204888 (备注大数据获取)**
[外链图片转存中…(img-toqxZtVd-1712849934894)]

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值