RocketMQ消息应用类型包含哪些?

顺序消息是保证消息严格按发送顺序消费的技术,常用于状态标志设置场景。消费顺序问题源于多队列中消息分布不均。解决方法包括全局有序(单队列)和分区有序(按主键选择固定队列)。延迟消息和事务消息也是重要的消息处理机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 普通消息
消息发送包括如下:
  • 同步发送消息

  • 异步发送消息

  • 单项发送消息

  1. 顺序消息
  1. 什么是顺序消息?

顺序消息是指严格按照发送顺序进行消费的的消息,即先生产的需要先消费

  1. 为什么需要顺序消息

当某些消息消费存在状态标志设置,如果不按照先后顺序,会导致数据库中数据的状态标志出现错误,比如,生产者先后修改状态为的顺序是:未支付-已支付-发货中-正在派送-已签收,如果消费时顺序出错,就会导致最后标志位出现不是已签收的状态,而是其他的错误状态。

  1. 为什么消费时顺序存在问题?

在多队列情况下,多条同样主键的数据的消息(数据内部更新的状态)在发送时可能发送到不同的队列中,那么消费者进行消费时只能保证一个队列中的消息顺序消费,不同队列中的消息消费顺序存在差异,所以消费时顺序错乱。

  1. 解决办法是什么?

第3点中提到消费者进行消费时只能保证一个队列中的消息顺序消费,那么这就是解决办法的的核心和关键,只需要保证消息落在一个队列中即可,那么怎么才能落在一个队列中呢?如下两种办法

  • 全局有序

该topic中只有一个队列,那么生产者生产的消息自然而然都落到了这个队列中,保证了消息的顺序性

  • 分区有序

通过实现队列选择器接口,将消息数据中某个唯一主键作为选择队列的key,自定义算法保证相同主键选中的队列一样,这样就保证了消息的顺序性

  1. 延迟消息

延迟消息的另外一个功能就是可以完成定时任务,因为延迟消息中分了不同的延时等级,每个等级表示间隔多长时间后该消息方可被消费者消费,延迟等级如下:

  1. 事务消息

类XA模式的一个事务消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值