RocketMQ 支持多种消息类型,每种类型都适用于不同的业务场景。下面是一些常见的消息类型及其特点:
-
普通消息(Normal Message):
- 这是最基本的消息类型,没有任何特殊属性。生产者发送消息到指定的主题,消费者从主题订阅并消费这些消息。普通消息不保证严格的顺序。
-
顺序消息(Ordered Message):
- 顺序消息保证同一个队列(Message Queue)中的消息被顺序消费。这对于需要严格按照消息发送顺序执行的业务场景(如订单创建、支付、发货等)非常有用。
-
延时消息(Delayed Message):
- 延时消息允许生产者发送消息后,消息不会立即被消费,而是在指定的延时时间后才可被消费。这适用于需要在未来某个时间点执行任务的场景。
-
事务消息(Transaction Message):
- 事务消息允许将本地事务和消息发送结合起来。生产者发送半消息(Prepared Message),本地事务执行成功后,再确认消息,此时消费者才能消费该消息。如果本地事务执行失败,则回滚消息。这适用于确保本地事务和消息发送两者要么都成功,要么都不成功的场景。
-
批量消息(Batch Message):
- 批量消息允许生产者将多个消息打包成一个批次发送,这可以显著提高传输效率和吞吐量。批量消息适用于消息体较小且发送频率较高的场景。
-
过滤消息(Filter Message):
- 过滤消息允许消费者根据消息的属性(如 tags、keys 等)来过滤消息,只消费符合特定条件的消息。这提供了一种灵活的消息订阅方式,减少了不必要的消息传输。
-
死信消息(Dead Letter Message):
- 当消息重试消费仍然失败,超过最大重试次数后,消息会被发送到一个特殊的死信队列。应用可以监控这个队列来处理无法正常消费的消息,例如进行告警或人工干预。
每种消息类型都有其适用的场景,开发者可以根据业务需求选择合适的消息类型来优化系统的性能和可靠性。
标签:场景,--,发送,消费,消息,类型,Message,rocketmq From: https://www.cnblogs.com/xylfjk/p/17982863