Kafka中必知必会的基础概念

Kafka中必知必会的基础概念,第1张

  • 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)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/923504.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存