Kafka 消费者订阅了多个Topic,在poll的时候,能否指定poll哪个Topic的数据?

大兔 发表于: 2021-04-16   最后更新时间: 2021-04-16 14:48:18   2,456 游览

Kafka 消费者订阅了多个Topic,在poll的时候,能否指定poll哪个Topic的数据?

比如 consumerA 订阅了 Topic1 和 Topic2 的消息。

但是我在本次 poll的时候,只想poll Topic1的消息并提交偏移量,而不处理 Topic2 的消息。
下次poll的时候,只处理 Topic2 的消息并提交偏移量,而不处理 Topic1 的消息。

在线,3小时前登录
发表于 2021-04-16
添加评论

不行的,也没有必要。

1、pull到消息之后,等待你处理完成后,消费者才会继续拉取新的消息。
2、即使你自己实现逻辑,但消费者的超时时间(默认30秒),如果超过了时间,会将这个消费者踢出,重新平衡消费者,导致重复消费,也会影响到你的另外一个主题的消息。

kafka消费者拉取消息是批量pull的,一个批次可能有2000-3000条消息,你拿到消息之后,将这一批消息发送到业务层拆分处理。

所以,你没有必要这么做的,还不如直接写2个消费者分别订阅各种的topic好了。

你的答案

查看kafka相关的其他问题或提一个您自己的问题