kafka 分区分配及再平衡总结

前言

对kafka有一定了解的同学应该知道,kafka发送到topic的数据是分区存储的,而后,对于消费者来说,只需要指定kafka服务的IP、端口号,以及指定具体的topic名称即可,而不需要具体关系消费哪个分区的数据;

但在kafka内部,这个过程还是挺复杂的,我们知道,在编写kafka消费端逻辑代码时,需要在代码中配置 "group"参数,即消费端消费某个topic的数据时,需要指定具体的消费组名称,否则,程序根本无法跑起来;

下图展示了kafka从producer发送消息,到consumer消费消息时,消息进行流动的一个大致的示意图*(这里忽略了内部其他的逻辑);

在这里插入图片描述

本文由于是探讨消费组分区消费再均衡的问题,仅从消费端出发,针对某个消费者组内的多个消费者消费topic的数据,结合上图做一个简单的说明;

假设kafka集群服务已经开启并且生产者已经推送了一定数据的消息到具体的topic的情况下,这时候启动消费端,接下来做的事情大概如下:

  1. 每个consumer都发送JoinGroup请求(每个分区所在的broker都存在一个叫做coordin

猜你喜欢

转载自blog.csdn.net/zhangcongyi420/article/details/123360615
今日推荐