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

副本( 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能够精确地知道每个消费者在每个分区中的位置,以确保可靠地传递消息。

消费者可以与kafka集群进行通信,提交当前的偏移量和查看当前的偏移量。偏移量的管理对于消费者来说非常重要,因为偏移量可以控制消费者消费消息的顺序和跟踪消费者消费的消息,避免消息的重复消费。

6.日志段

一个日志又被划分为多个日志段( LogSegment ),日志段是 Kafka 日志对象分片的最小单 。与 日志对象 样,日志段也是 个逻辑概念, 一个日志段对应磁盘上 体日志文件和 两个索引文件。日志文件是以 .log ”为文件名后缀的数据文件,用于保存消息实际数据 个索引文件分别以“ .index ”和“ timeindex ”作为文件名后缀,分别表示消息偏移量索 引文件 和消息时间戳索引文件。

7.消费者和消费者组

消费者是 Kafka 中用于接收消息的客户端应用程序。消费者从 Kafka 集群中的一个或多个主题(topic)中读取消息,并对消息进行处理。消费者可以以不同的方式读取消息,例如可以从最早的消息开始读取,也可以从最新的消息开始读取。

消费者组是一个逻辑上的概念,用于对消费者进行分组管理。在 Kafka 中,可以将多个消费者组合成一个消费者组,每个消费者组内的消费者共同消费一个或多个主题中的消息。消费者组可以实现消息的负载均衡和高可用性,确保消息能够被有效地处理和传递。

总的来说,消费者是 Kafka 中具体处理消息的客户端应用程序,而消费者组是对消费者进行管理和分组,以实现更好的消息处理效率和可靠性

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

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

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

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

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

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值