kafka 收不到消息_Kafka 读取不到数据,没有报错信息

当Kafka消费者遇到收不到消息的情况,可能是因为所有topic使用了相同的group.id导致。Kafka中,每个consumer属于一个consumer group,同组内的consumer会负载均衡消费消息。若所有consumer group相同,消息只会被一个consumer消费,其他consumer将无法接收到数据。解决方案是为不同topic设置不同的group.id,确保每个group对应一个订阅者,避免数据丢失。
摘要由CSDN通过智能技术生成

现象:

kafka写入和消费一切正常情况,通过一段时间的运行,偶尔发现取不到数据;最后查看kafka消费情况,发现有阻塞。

解决:

1、确认kafka运行情况,是否有堵塞

/kafka/bin/目录下执行

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper=localhost2181 --group=0

被网上一些代码片段坑骗  ~~~~(>_

2、检查代码

我出现的问题,经过确认后发现,所有topic 的group.id都是一样的名称

3、 不同的topic 设置不同的group.id

Consumers

本质上kafka只支持Topic.每个consumer属于一个consumer group;反过来说,每个group中可以有多个consumer.发送到Topic的消息,只会被订阅此Topic的每个group中的一个consumer消费.

如果所有的consumer都具有相同的group,这种情况和queue模式很像;消息将会在consumers之间负载均衡.

如果所有的consumer都具有不同的group,那这就是"发布-订阅";消息将会广播给所有的消费者.

在kafka中,一个partition中的消息只会被group中的一个consumer消费;每个group中consumer消息消费互相独立;我们可以认为一个group是一个"订阅"者,一个Topic中的每个partions,只会被一个"订阅

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值