Apache Kafka-核心组件和流程-副本管理器-设计-原理(入门教程轻松学)

 博主:爱码叔

个人博客站点: [icodebook](https://icodebook.com/)

公众号:爱码叔漫画软件设计(搜:爱码叔)

专注于软件设计与架构、技术管理。擅长用通俗易懂的语言讲解技术。对技术管理工作有自己的一定见解。文章会第一时间首发在个站上,欢迎大家关注访问!​

本入门教程,涵盖Kafka核心内容,通过实例和大量图表,帮助学习者理解,任何问题欢迎留言。

目录:

本章简单介绍了副本管理器,副本管理器负责分区及其副本的管理。副本管理器具体的工作流程可以参考牟大恩所著的《Kafka入门与实践》。

副本管理器

副本机制使得kafka整个集群中,只要有一个代理存活,就可以保证集群正常运行。这大大提高了Kafka的可靠性和稳定性。

Kafka中代理的存活,需要满足以下两个条件:

  1. 存活的节点要维持和zookeeper的session连接,通过zookeeper的心跳机制实现
  2. Follower副本要与leader副本保持同步,不能落后太多。

满足以上条件的节点在ISR中,一旦宕机,或者中断时间太长,Leader就会把同步副本从ISR中踢出。

所有节点中,leader节点负责接收客户端的读写操作,follower节点从leader复制数据。

副本管理器负责对副本管理。由于副本是分区的副本,所以对副本的管理体现在对分区的管理。

在第三章已经对分区和副本有了详细的讲解,这里再介绍两个重要的概念,LEO和HW。

  1. LEO是Log End Offset缩写。表示每个分区副本的最后一条消息的位置,也就是说每个副本都有LEO。
  2. HW是Hight Watermark缩写,他是一个分区所有副本中,最小的那个LEO。

看下图:

分区test-0有三个副本,每个副本的LEO就是自己最后一条消息的offset。可以看到最小的LEO是Replica2的,等于3,也就是说HW=3。这代表offset=4的消息还没有被所有副本复制,是无法被消费的。而offset<=3的数据已经被所有副本复制,是可以被消费的。

副本管理器所承担的职责如下:

  1. 副本过期检查
  2. 追加消息
  3. 拉取消息
  4. 副本同步过程
  5. 副本角色转换
  6. 关闭副本

再此就不再一一讲解了,详情可以参考牟大恩所著的《Kafka入门与实践》。

下一步:开始kafka编程实战的学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值