kafka分区和消费者线程的关系

来源:互联网 发布:mac的dashboard 编辑:程序博客网 时间:2024/06/05 11:54

A、当有两个分区时,两台消费者的线程数等于分区数,则两台服务器平均消耗两个分区的数据;
每个消费者配置的线程数为2:共4个线程对象:(每个消费者线程消费一个分区的数据)
这里写图片描述
这里写图片描述
这里写图片描述
B 、当有两个分区时,两台消费者的线程数为1 时,消费者服务器A消耗0和1 分区的数据,消费者服务器B消耗2和3分区的数据;
这里写图片描述
这里写图片描述
C、只有两个分区时:只有一台消费者服务器且消费者服务器线程数4 时(线程数大于分区数):
此时共有4个线程对象,每个线程消费一个分区数据。并行进行消费。
这里写图片描述
这里写图片描述
D:结论:
1、要使生产者分区中的数据合理消费,消费者的线程对象和分区数保持一致,多余的线程不会进行消费(会浪费)
2、消费者默认即为一个线程对象 ;
3、达到合理消费最好满足公司:消费者服务器数*线程数 = partition个数