RocketMQ 支持的消息类型

消息类型 描述 适用场景 特点
同步消息 发送方发送后阻塞,等待 Broker 返回发送结果 (ACK) 后才继续后续操作。 重要的通知、注册(确保消息投递成功才能继续)、对发送可靠性要求高的业务。 - 可靠性最高
- 吞吐量相对较低
- 对发送延迟敏感
异步消息 发送方发送后不阻塞,立即返回,通过回调函数异步接收 Broker 的发送结果。 大部分业务场景、高并发、需要知道发送结果但又不希望阻塞的业务。 - 可靠性高
- 吞吐量高 (非阻塞)
- 异步回调机制
单向消息 发送方发送后不关心 Broker 是否成功接收,不等待任何响应。 日志收集、监控数据、用户行为追踪等可丢失不重要的场景。 - 吞吐量最高
- 可靠性最低 (可能丢失)
- 无回调,不等待
批量消息 将多条消息打包成一个批次发送。 POI 上传、大量小日志入库、数据同步等发送大量小消息的场景。 - 减少网络开销
- 提高发送效率
- 单批次有大小限制
延迟消息 消息发送后,Broker 不立即投递给消费者,而是延迟一定时间后才投递。 订单超时未支付关闭、定时任务、延时重试等。 - 可定制消息投递时间
- 通常有固定延迟等级选项
顺序消息 确保一组具有业务关联的消息(如同一订单的不同步骤)按发送的顺序消费 订单创建/支付/发货、库存扣减、银行流水等对顺序严格要求的业务。 - 保证局部顺序性 (同一队列内)
- 复杂度相对高