取决于回调里的处理耗时以及max.in.flight.requests.per.connection的设置。

Java客户端设置回调是否会影响消息发送的速度取决于:

  • 回调里的处理耗时:为减少回调里的处理耗时,不要过于频繁地在回调里面做耗时的处理。您可以积累一定量Ack后再做批量的回调处理,或者在另一个异步的线程去处理,从而不阻塞回调的完成。
  • max.in.flight.requests.per.connection的设置:在阻塞结束之前,最多能发的消息数由max.in.flight.requests.per.connection决定。