kafka消费者组消费数据问题

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 kafka消费者组消费数据问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前言

在上一篇的消费者代码中,里面提到了一个很重要的点,那就是在代码中必须要指明消费者组,为什么要这样呢?

这个跟kafka自身在架构设计时是有一定的关系的,通过之前的学习我们知道,kafka天生就是一个分布式的架构,通过分区实现数据的生产的高吞吐量,生产者将数据发送到不同的分区后,接下来,就是消费者消费数据了;

针对消费者来说,broker的规则是:

  1. 不同的消费者可以消费某个topic下的不同分区的数据;
  2. 同一个消费者只能消费某个topic下的具体的某个分区的数据,这个在消费的时候由系统规则默认指定分区
  3. 同一个消费组下的消费者,不能消费相同分区的数据

这里需要说的就是第三点,这一点很重要,为什么呢?这就回到了上面的问题,生产者将消息发送到不同的分区上面,是按照一定的规则进行发送的,即假如100条数据,3个分区,则每个分区都将均匀的承担一部分数据;

假如说,某个消费组内有多个消费者,为了能完全消费某个topic下的所有数据,必然要求该消费组下的不同的消费者各自消费不同分区的数据,这样才有可能完全消费,否则将会出现某个分区的数据没有消费者消费的尴尬的情况,这样一来,对broker来说,很难进行分区数据的管理;

如何验证这个问题呢?下面来启动3个消费者,让这3个消费者都归属于某个消费组

1、3个消费者类


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143303.html

(1)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!