Kafka学习笔记(一、kafka简介及概念)

在这里插入图片描述


1.简介

kafka目前定为一个分布式流式处理平台,以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而别广泛应用。

  • 消息系统: 具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能——消息顺序性保障回溯消费的功能
  • 存储系统: 消息持久化到磁盘,降低数据丢失的风险。具有消息持久化多副本机制
  • 流式处理平台: 不仅为每个流行的流式处理框架提供了可靠的数据来源,还提供了一个完整的流式处理类库

2.基本概念

2.1.基本结构

  • Producer: 生产者,负责创建消息并发送到kafka中
  • Consumer: 消费者,连接到kafka服务器并接收消息
  • Broker: kafka服务器节点

    一个kafka架构由一些Producer、Broker和Consumer以及一个ZooKeeper集群组成。ZooKeeper是kafka用来负责集群元数据管理、服务器集群leader的选举等功能。Producer将消息发送到Broker,Broker负责将收到的消息存储到磁盘,Consumer则从Broker中订阅并消费消息

  • Topic: 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic(主题),是一个逻辑上的概念
  • Partition: 分区(主题分区),同一主题下不同分区的消息是不同的。

    Topic是一个逻辑上的概念,可以细分为很多分区(一个分区只属于一个主题)。分区在存储层面可以看做是一个可追加的Log文件。消息被追加到Log文件的时候会分配一个特定的偏移量offset,offset是消息在分区的唯一标识,保证消息在分区内的顺序性(分区有序而不是主题有序

2.2.多副本机制

多副本(Replica)机制是为提高kafka的容灾能力。副本之间是一主多从的关系,leader副本负责读写,follower副本只负责与leader副本的消息同步

  • AR: 分区中所有副本的统称
  • ISR: 所有与leader副本保持一定程度同步的副本
  • OSR: 与leader副本同步滞后过多的副本

    leader副本数据同步的时候很多时候都会存在一定的延迟(滞后),ISR中一定程度的同步是指可忍受的延迟范围(可通过参数进行配置)。AR=ISR+OSR

    • leader副本维护和追踪ISR中follower副本的延迟状态,落后太多(配置中配置的延迟范围)则从ISR中剔除,状态追上leader则加入到ISR
    • 默认当leader发生故障时只有ISRj集合中的副本才能被选举为新的leader
  • HW: 高水位,标识了一个特定的消息的offset,消费者只能拉去到这个offset之前的消息
  • LEO: log end offset,标识当前log文件中下一条待写入消息的offset,LEO的大小为当前log分区中最后一条消息的offset+1

    分区ISR集合中每个副本都会维护自己的LEO,ISR集合中最小的LEO则为分区的HW(消费者只能消费HW之前的数据)

kafka使用这种ISR的方式有效的权衡了数据可靠性和性能之间的关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值