Apache RocketMQ 的官网有如下介绍, 但是在proxy请求的情况下 发现两者性能差别?[阿里云消息队列MQ]

Apache RocketMQ 的官网有如下介绍, 但是在proxy请求的情况下 发现两者性能差别并不大 FlushDiskType SYNC_FLUSH(同步刷新)相比于ASYNC_FLUSH(异步处理)会损失很多性能,但是也更可靠,所以需要根据实际的业务场景做好权衡。这个是针对中间件自身的性能而言,在proxy代理请求的时候实际根据proxy的性能来确定,org.apache.rocketmq.client.java.exception.badrequestexception: [request-id=fedcc908-76bd-44b9-a7df-84822362db85, response-code=40013] INVALID_RECEIPT_HANDLEat org.apache.rocketmq.client.java.exception.StatusChecker.check(StatusChecker.java:63) ~[rocketmq-client-java-5.0.4.jar:?]at%20org.apache.rocketmq.client.java.impl.consumer.SimpleConsumerImpl.lambda$ack0$2(SimpleConsumerImpl.java:247)%20~[rocketmq-client-java-5.0.4.jar:?]at%20org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:221)%20~[rocketmq-client-java-5.0.4.jar:?]at%20org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:208)%20~[rocketmq-client-java-5.0.4.jar:?]at%20org.apache.rocketmq.shaded.com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:122)%20~[rocketmq-client-java-5.0.4.jar:?]at%20java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)%20~[?:1.8.0_362]at%20java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)%20~[?:1.8.0_362]at%20java.lang.Thread.run(Thread.java:750)%20~[?:1.8.0_362]有人消费消息的时候遇到过这个问题吧

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 这个异常是RocketMQ的客户端Java API抛出的,通常是消费者在调用ack方法时出现了错误,比如传递了一个无效的消息句柄(Receipt Handle)。根据异常信息可以看出,出现了INVALID_RECEIPT_HANDLE异常,说明传递的消息句柄无效,这个问题可能与消费者的消费逻辑有关,建议检查消费者的代码逻辑,尤其是在处理消息时是否正确地将消息句柄传递给了ack方法。

    另外,在RocketMQ中,消费者消费消息的过程中,需要定期确认消息状态,否则消息将一直处于未确认状态,这会导致消费者无法再次消费该消息,也会占用服务器的资源。因此,建议做好消息状态的处理,保证及时确认消息状态并清理不必要的未确认消息。

    至于性能方面的问题,如果proxy的性能较差,可能会导致性能瓶颈,建议使用高性能的proxy或者对proxy进行优化,以提高性能和稳定性。同时,也可以根据实际业务场景的需要选择合适的FlushDiskType。

  2. 应该时ack的时候, 句柄过期了,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”