深入Kafka核心设计与实践原理读书笔记第一章

Kafka是一个高吞吐、可持久化的分布式流式处理平台,提供消息系统、存储系统和流处理平台三大功能。其核心组件包括生产者、消费者和Broker。消息以主题和分区组织,通过偏移量保证消息顺序,采用多副本机制实现容错和故障转移。消费者利用pull模式消费消息,并记录消费位置以实现容灾。ISR和OSR管理副本同步状态,影响领导者选举和系统可用性。
摘要由CSDN通过智能技术生成

1初识Kafka

  1. kafka是一个分布式流式处理平台,优点是高吞吐、可持久化、可水平扩展、支持流数据处理。
  2. kafka主要有三大功能
    1. 消息系统:Kafka与传统的消息系统都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。于此同时kafka还提供了消息顺序性保障和回溯小费的功能。
    2. 存储系统:kafka把消息持久化到硬盘而不是内存,所以容灾性更强。
    3. 流式处理平台 :Kafka提供了一个完成的流式处理类库。

1.1 基础概念

kafka有三个组成部分
1. prpdicer(生产者):消息生产的一方之后消息会推送到Kafka中。
2. Consumer(消费者):消息消费的一方。
3. Broker(服务代理节点):消息存放处理的抵挡
工作流程是:生产者生产消息投递到服务代理节点,消费者订阅主题,在对应的服务代理节点进行消息消费。
4. 主题(topic) Kafka中的消息都是以主题为单位归类
5. 分区(partition)kafka中一个主题对应多个分区,一个分区只能对应一个主题。
6. 在分区中以偏移量(offset)为标识来确保分区内的消息顺序,同分区内偏移量唯一,不同分区内偏移量不唯一。
7. kafka中分区引入了多副本机制,会有一个leader副本和多个follower副本,leader副本符合读写数据,follower副本负责同步数据,leader副本和follower副本数据会存在不一致的情况。副本处于不同的(broker)服务代理节点中。kafka通过多副本机制来实现故障的自动转移,所以当broker失效时,仍可以保持服务可用。
8. Kafka消费端也具备一定的容灾能力。消费者在使用pull模式从服务代理节点拉去消息,在并记录消费的位置,当服务宕机重启后,会继续在保存的位置拉取数据。
9. 分区中的所有副本被成为AR
10. 所有的副本包含leader副本组成ISR,ISR是AR的一个子集,消息先同步到leader副本之后给follower副本。
11. 所有与leader副本滞后过多的follower副本组成OSR
12. 所以AR=ISR+OSR
13. AR=ISR的情况下,OSR就是null;
14. 当ISR中的follower副本之后leader副本过多时就会被移除ISR,放入OSR
15. 当OSR中的follower副本追上leader副本时就会移除OSR,放入ISR
16. 只有ISR中的follower副本可以选举成为leader副本。
17. HW时高水位,也是一个特殊的偏移量,消费者只能读取HW之前的数据,HW所在的下标消息对消费者不可以见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值