开发者社区> 问答> 正文

rocketmq顺序消息,消费很慢 rocketmq问题

生产者
public void start() {
        producer = new DefaultMQProducer(groupName);
        producer.setNamesrvAddr(namesrvAddr);
        try {
            producer.start();
        } catch (MQClientException e) {
            log.error(e);
        }
    }

    public void send(Object orderId,Message msg) {
        try {
            SendResult sendResult = producer.send(msg, new SelectMessageQueueByHash(), orderId);
            log.debug(sendResult.toString());
        } catch (Exception e) {
            log.error(e);
        }
    }
消费者
public void start(){
        try{
            consumer = new DefaultMQPushConsumer(groupName);

            consumer.setNamesrvAddr(namesrvAddr);

            consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);

            consumer.subscribe(consumerTopic, consumerTag);

            consumer.registerMessageListener(new MessageListenerOrderly() {
                @Override
                public ConsumeOrderlyStatus consumeMessage(List<MessageExt> list, ConsumeOrderlyContext consumeOrderlyContext) {
                    consumeOrderlyContext.setAutoCommit(true);
                    for (MessageExt messageExt : list) {
                        listener.onMessage(messageExt);
                    }
                    return ConsumeOrderlyStatus.SUCCESS;
                }
            });
            consumer.start();
        }catch (Exception e){
            log.error(e);
        }
    }
1.第一次发送,消费者很久才开始消费,应该1-2分钟才开始消费
2.消费者返回的Susccess但感觉一直没有返回成功,一直还在消费
3.消费速度很慢,消费者逻辑就一个打印信息,基本上1秒钟才消费2个消息

展开
收起
海边一只船 2020-06-01 14:49:32 3330 0
1 条回答
写回答
取消 提交回答
  • 消费慢、和一直消费的问题已经找到了,是因为我的 listener.onMessage(messageExt); 有异常。 但是还是有个问题就是 producer 发送了消息 consumer 不是马上收到的

    2020-06-01 14:49:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载