rocketmq--中的7种消息类型
RocketMQ 支持多种消息类型,每种类型都适用于不同的业务场景。下面是一些常见的消息类型及其特点:
-
普通消息(Normal Message):
- 这是最基本的消息类型,没有任何特殊属性。生产者发送消息到指定的主题,消费者从主题订阅并消费这些消息。普通消息不保证严格的顺序。
-
顺序消息(Ordered Message):
- 顺序消息保证同一个队列(Message Queue)中的消息被顺序消费。这对于需要严格按照消息发送顺序执行的业务场景(如订单创建、支付、发货等)非常有用。
-
延时消息(Delayed Message):
- 延时消息允许生产者发送消息后,消息不会立即被消费,而是在指定的延时时间后才可被消费。这适用于需要在未来某个时间点执行任务的场景。
-
事务消息(Transaction Message):
- 事务消息允许将本地事务和消息发送结合起来。生产者发送半消息(Prepared Message),本地事务执行成功后,再确认消息,此时消费者才能消费该消息。如果本地事务执行失败,则回滚消息。这适用于确保本地事务和消息发送两者要么都成功,要么都不成功的场景。
-
批量消息(Batch Message):
- 批量消息允许生产者将多个消息打包成一个批次发送,这可以显著提高传输效率和吞吐量。批量消息适用于消息体较小且发送频率较高的场景。
-
过滤消息(Filter Message):
- 过滤消息允许消费者根据消息的属性(如 tags、keys 等)来过滤消息,只消费符合特定条件的消息。这提供了一种灵活的消息订阅方式,减少了不必要的消息传输。
-
死信消息(Dead Letter Message):
- 当消息重试消费仍然失败,超过最大重试次数后,消息会被发送到一个特殊的死信队列。应用可以监控这个队列来处理无法正常消费的消息,例如进行告警或人工干预。
每种消息类型都有其适用的场景,开发者可以根据业务需求选择合适的消息类型来优化系统的性能和可靠性。
分类:
rocket_mq
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决