「Kafka应用」名词概念解释

Kafka名词概念解释

Producer(生产者)

生产者,发送消息的一方。生产者负责创建消息,然后将其投递到Kafka中。

Consumer(消费者)

消费者,也就是接收消息的一方。消费者连接到Kafka上并接收消息,进而进行相应的业务逻辑处理。

Group

每一个消费者都属于一个消费者组,当有多个消费者绑定同一个消费者组时,我们将这些消费者看做同一个组内的成员。消费者进行消费数据时,必须绑定一个消费者组。

Broker

可以理解为一个Kafka服务节点,大多情况下可以将其看做一台Kafka服务器,多个broker组成一个Kafka集群,而同一个主题下的多个分区,可以坐落于不同的broker中。

Topic (主题)

Kafka中每条消息都属于某一个主题,而不论生产者还是消费者在进行数据的投放/消费时,都必须指定主题。一个主题下应存放同一类数据。

Partition (分区)

分区属于主题下的概念,主题下的数据根据分区进行分割,一个主题至少拥有一个分区,每个分区中存放的数据内容不一样,也就是说同一条消息只会存在于一个分区中。而且每个分区维护各自的偏移量,所以分区的有序性只能保证在单个分区内。

副本

每个分区至少拥有一个副本,副本又分为「leader」和「follower」,其中数据的存取只会在leader上进行,follower只负责从leader中同步数据,以备在leader发生故障时,从follower中选举中一个新的leader。同一个分区下所有的副本中的数据是一样的。(在同步完成的情况下)

AR (Assigned Replicas )

分区中所有的副本。

ISR (In-Sync Replicas)

与leader副本的滞后性保持一定程度(可接受范围内)的follower副本。新的leader就是在这里产生。当副本同步速度降低时,会将其放入OSR中。

OSR (Out-Sync Replicas)

与leader副本的滞后过多的副本。当副本同步速度追上来时,会重新纳入到ISR中。

HW (High Watermark)

高水位,消费者只能拉取到HW之前位置的数据。

LEO (Log End Offset)

标识日志文件中下一条数据的offset。

图示

image

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!