我用的springboot自带的监听注解 @KafkaListener(topics = "test") ,这种是一监听到新消息就会收到消息,还是有个默认的拉取消息间隔时间。

星风 发表于: 2019-11-29   最后更新时间: 2019-11-29 18:14:05   3,981 游览
发表于 2019-11-29
添加评论

底层是不会变的,都是拉取消息,有个默认拉取消息的间隔时间。
但是,这个"默认拉取消息时间"是当集群中没有新消息的时候,才会使用上。
如果集群中持续就消息,则不会做任何等待。

星风 -> 半兽人 5年前

如果集群中持续有新消息,则不会做任何等待。这句话怎么理解? 难道消费者这边不是每隔这个时间间隔才pull一次吗?是怎么做到的一有新消息就立马会消费,不会等待的?求大神指点下

半兽人 -> 星风 5年前

如果pull都有默认等待时间,kafka怎么能如此高性能呢?
比如,我pull一次消息,发现是空,那下次就按照“默认休眠时间”之后在去拉,如果每次消息都有,就无需等待了。

星风 -> 半兽人 5年前

醍醐灌顶啊,难怪这么高性能

半兽人 -> 星风 5年前

结贴吧。

凸逼男勃丸 -> 星风 3年前

。。。因为消费者对自己拉取消息的主题分区是有监听的。。有消息过来会实时收到通知去拉取。

不是的,kafka故意设计成主动拉取消息。
消费者是主动拉取消息的

你的答案

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