Kafka中必知必会的基础概念

  • Broker:Kafka服务端,负责接收和处理生产者和消费者的请求。

  • Producer:生产者。

  • Comsumer:消费者。

  • ComsumerGroup:消费(者)组,多个消费者可以组成消费组,消费组保证每个Partition只能被消费者组中的一个消费者使用,避免重复消费。如果消费者组内一个消费者失效,消费组可以通过Rebalance重新分区,接管失效消费者的工作。

  • Relalance:重平衡,消费组内消费者实例数量变更后,其他消费者实例重新分配消费订阅主题的分区。

  • Record:消息,Kafka处理的基本单元,可以把消息看成是数据库里的一个「数据行」或一条「记录」

  • Offset:消息位移,分区中每条消息的位置信息,单调递增。

  • Batch:批次,为了提高效率,消息将分批写入Kafka。

  • Topic:主题,是一种逻辑概念,Kafka通过主题将消息进行分类,类似数据库中的表。

  • Partition:分区,是一种物理概念,一个 Topic 由若干个 Partition 组成,可以分布于kafka集群中,方便扩容。单个分区内消息是有序的,只有将 Partition 设置为1才能保证消息全局有序。

  • LogSegment:一个分区由多个 LogSegment 组成,一个 LogSegment.log .index .timeindex等组成。.log追加是顺序写入的,文件名是以文件中第一条消息的offset来命名的;.Index进行日志删除的时候和数据查找的时候可以快速定位;.timeStamp则根据时间戳查找对应的偏移量。

  • Replica:副本,副本是针对 Partition 而言的, Partition 的副本可以分布在不同的Broker中,副本又分为Leader和Follower,Leader可读可写,Follower仅做数据冗余,以提升Kafka数据可靠性。

  • AR(Assigned Replicas):分区中全部副本集合。 A R = I S R + O S R AR = ISR + OSR AR=ISR+OSR

  • ISR(In-Sync Replicas):所有和Leader副本(包括)保持一定程度同步的副本集合。

  • OSR(Out-of-Sync Replicas):与Leader副本滞后过多的副本集合。

  • LEO(Log End Offset):用于标识当前日志文件下一条待写入消息的offset。分区中每个副本都会维护自己的LEO。

  • HW(High Watermark):高水位,标识了一个特定的offset,消费者只能拉取到HW之前的消息。 H W = M i n I S R ( L E O ) HW = Min_{ISR}(LEO) HW=MinISR(LEO)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值