底层是不会变的,都是拉取消息,有个默认拉取消息的间隔时间。但是,这个"默认拉取消息时间"是当集群中没有新消息的时候,才会使用上。如果集群中持续就消息,则不会做任何等待。
如果集群中持续有新消息,则不会做任何等待。这句话怎么理解? 难道消费者这边不是每隔这个时间间隔才pull一次吗?是怎么做到的一有新消息就立马会消费,不会等待的?求大神指点下
如果pull都有默认等待时间,kafka怎么能如此高性能呢?比如,我pull一次消息,发现是空,那下次就按照“默认休眠时间”之后在去拉,如果每次消息都有,就无需等待了。
醍醐灌顶啊,难怪这么高性能
结贴吧。
。。。因为消费者对自己拉取消息的主题分区是有监听的。。有消息过来会实时收到通知去拉取。
不是的,kafka故意设计成主动拉取消息。消费者是主动拉取消息的
找不到想要的答案?提一个您自己的问题。
0 声望
这家伙太懒,什么都没留下
底层是不会变的,都是拉取消息,有个默认拉取消息的间隔时间。
但是,这个"默认拉取消息时间"是当集群中没有新消息的时候,才会使用上。
如果集群中持续就消息,则不会做任何等待。
如果集群中持续有新消息,则不会做任何等待。这句话怎么理解? 难道消费者这边不是每隔这个时间间隔才pull一次吗?是怎么做到的一有新消息就立马会消费,不会等待的?求大神指点下
如果pull都有默认等待时间,kafka怎么能如此高性能呢?
比如,我pull一次消息,发现是空,那下次就按照“默认休眠时间”之后在去拉,如果每次消息都有,就无需等待了。
醍醐灌顶啊,难怪这么高性能
结贴吧。
。。。因为消费者对自己拉取消息的主题分区是有监听的。。有消息过来会实时收到通知去拉取。
不是的,kafka故意设计成主动拉取消息。
消费者是主动拉取消息的
你的答案