码上敲享录 > Kafka面试题 > Kafka消息是采用Pull模式,还是Push模式?

Kafka消息是采用Pull模式,还是Push模式?

上一章章节目录下一章 2023-07-16已有296人阅读 评论(0)

Kafka 消息传递采用的是 Pull 模式。


在 Kafka 中,消费者使用拉取(Pull)的方式从代理服务器获取消息。它们根据需要主动向 Kafka 代理发送获取消息的请求,并从代理服务器的分区中获取一批消息。这种拉取的方式是消费者主动决定何时获取消息的,并控制拉取的频率和数量。


消费者通过调用 `poll()` 方法来拉取消息。此方法允许消费者控制拉取的超时时间,在超时时间内等待代理服务器返回消息,并获取到消费者可处理的批量消息。消费者不会被代理服务器主动推送消息,而是通过轮询(Polling)的方式,定期主动向代理服务器请求消息。


这种基于拉取的模式带来了一些优势:


- 灵活性:消费者可以按自己的需求控制拉取消息的速率和频率,以适应消费者的处理能力。


- 消费者控制消费速率:消费者可以根据自身的消费能力决定每次拉取的消息数量,优化消费的效率。


- 延迟和吞吐量:拉取模式可以提供更低的延迟,因为消费者可以随时主动拉取消息,而不必等待服务器推送。


- 分流和负载均衡:通过控制消费者的拉取行为,可以实现消费者之间的分流和负载均衡。


需要注意的是,Kafka 代理服务器会保留消息并进行批量压缩,以便消费者可以高效地拉取和处理消息,同时也为消费者提供了一定的缓冲能力。这种拉取模式在 Kafka 中被广泛使用,并使得 Kafka 能够处理高吞吐量和大规模数据的场景。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交