使用指南最佳实践消息类型
正在加载文档
最近更新时间: 2026-08-18 12:04:53
本文介绍消息队列 RocketMQ 顺序消息的概念、适用场景以及使用过程中的注意事项。 顺序消息(FIFO 消息)是消息队列 RocketMQ 提供的一种严格按照顺序来发布和消费的消息。顺序发布和顺序消费是指对于指定的一个 Topic,生产者按照一定的先后顺序发布消息;消费者按照既定的先后顺序订阅消息,即先发布的消息一定会先被客户端接收到。 顺序消息分为全局顺序消息和分区顺序消息。
对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序来发布和消费。

适用于性能要求不高,所有的消息严格按照 FIFO 原则来发布和消费的场景。
示例
在证券处理中,以人民币兑换美元为 Topic,在价格相同的情况下,先出价者优先处理,则可以按照 FIFO 的方式发布和消费全局顺序消息。
对于指定的一个 Topic,所有消息根据 Sharding Key 进行区块分区。同一个分区内的消息按照严格的 FIFO 顺序进行发布和消费。Sharding Key 是顺序消息中用来区分不同分区的关键字段,和普通消息的 Key 是完全不同的概念。

适用于性能要求高,以 Sharding Key 作为分区字段,在同一个区块中严格地按照 FIFO 原则进行消息发布和消费的场景。
示例
在控制台创建顺序消息使用的不同类型 Topic 对比如下。
| Topic 的消息类型 | 是否支持事务消息 | 是否支持定时/延时消息 | 性能 |
|---|---|---|---|
| 无序消息(普通、事务、定时/延时消息) | 是 | 是 | 最高 |
| 分区顺序消息 | 否 | 否 | 高 |
| 全局顺序消息 | 否 | 否 | 一般 |
| 消息类型 | 是否支持可靠同步发送 | 是否支持可靠异步发送 | 是否支持 Oneway 发送 |
|---|---|---|---|
| 无序消息(普通、事务、定时/延时消息) | 是 | 是 | 是 |
| 分区顺序消息 | 是 | 否 | 否 |
| 全局顺序消息 | 是 | 否 | 否 |
使用顺序消息时,请注意以下几点:
示例代码请参见以下文档:
这篇文档有帮助吗?
正在加载反馈服务…