后端岗位面试题更新 2026-08-05

请说明在 RocketMQ 中实现并发消费与顺序消费的配置方式,并简述两者的适用场景。

后端开发技术原理方案权衡

考察说明

考察对 RocketMQ 消费模式配置及适用性的理解。

回答思路

  1. 【回答框架 1】并发消费通过设置消费监听器为 MessageListenerConcurrently 实现,需在 consumer 中配置 consumeThreadMin 和 consumeThreadMax 控制线程数。
  2. 【回答框架 2】顺序消费则通过 MessageListenerOrderly 实现,需设置 consumeMessageBatchMaxSize 为 1,并确保消费线程数为单线程或在有序模式下处理消息。
  3. 【回答框架 3】并发消费适用于大多数业务场景,能提高吞吐量;顺序消费用于需要严格按消息顺序处理的场景,如订单状态流转。
  4. 【回答框架 4】配置时还需注意消费失败的重试策略和死信队列处理,顺序消费重试可能阻塞后续消息。
  5. 【关键点 1】并发消费使用 MessageListenerConcurrently,顺序消费使用 MessageListenerOrderly。
  6. 【关键点 2】顺序消费需保证消息队列的单一消费者线程处理,通常设置 consumeThreadMin 和 consumeThreadMax 为 1。
  7. 【关键点 3】顺序消费场景包括订单状态、库存扣减等依赖顺序的业务。
  8. 【易错点 1】将顺序消费误配为并发消费会导致消息乱序。
  9. 【易错点 2】顺序消费中消息重试会阻塞后续消息,需合理设计。
  10. 【易错点 3】未设置 consumeMessageBatchMaxSize 为 1 可能破坏顺序性。