0
点赞
收藏
分享

微信扫一扫

Kafka 基本术语及介绍

q松_松q 2022-01-22 阅读 56

Topic 话题

Kafka将消息分门别类,每一类的消息称之为一个主题(Topic)

某个topic的消息,会通过一个或多个分区存放,每个分区存在于一个或多个brokers中,每次新的消息都是顺序写入到每个分区log,log是通过文件方式进行存储,位置在 Config/server.properties 的 log.dirs 中定义

Kafka集群会一直保存所有的消息,除非它们过期被删除

Partition 分区

在建立某个topic时,会指定一个或多个分区,用来存放整个topic的消息,消息会均衡(数量不会相同)分发到不同的分区,不同分区的消息是不一致的

Offset 偏移量

消息在每个分区的位置,如上图所示

Producer 生产者

发布消息的对象称之为生产者

Consumer 消费者

订阅消息并处理发布的消息的对象为消费者

Group/Group ID 消费者组/消费者组ID

每个消费者C在消费信息时,需要确定自己属于哪个消费者组,定义一个groupID

在同一个消费者组里,如果某个topic有多个分区,那么不同的分区会分配给不同的消费者进行消费

不同消费者组,读取某个topic的分区的offset是不一样的

Broker 集群的服务器

已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)

副本

每个分区又可以有多个副本。这多个副本中,只有一个是leader,而其他的都是follower副本,仅有leader副本可以对外提供服务,其他副本用于高可用,详见下面 Leader/Follower 。

Leader/Follower 

某个topic的分区会被分布到集群中的多个服务器上,每个服务器处理它分到的分区。根据配置,每个分区还可以复制到其它服务器作为备份容错。

因此,每个分区有一个leader,零或多个follower。Leader处理此分区的所有的读写请求,而follower被动的复制数据。

如果leader宕机,其它的一个follower会被推举为新的leader。 一台服务器可能同时是一个分区的leader,另一个分区的follower。
 

部分内容摘自:kafka入门介绍 - OrcHome

举报

相关推荐

0 条评论