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

异步发送消息

单项发送消息

顺序消息
什么是顺序消息?
顺序消息是指严格按照发送顺序进行消费的的消息,即先生产的需要先消费
为什么需要顺序消息
当某些消息消费存在状态标志设置,如果不按照先后顺序,会导致数据库中数据的状态标志出现错误,比如,生产者先后修改状态为的顺序是:未支付-已支付-发货中-正在派送-已签收,如果消费时顺序出错,就会导致最后标志位出现不是已签收的状态,而是其他的错误状态。
为什么消费时顺序存在问题?
在多队列情况下,多条同样主键的数据的消息(数据内部更新的状态)在发送时可能发送到不同的队列中,那么消费者进行消费时只能保证一个队列中的消息顺序消费,不同队列中的消息消费顺序存在差异,所以消费时顺序错乱。
解决办法是什么?
第3点中提到消费者进行消费时只能保证一个队列中的消息顺序消费,那么这就是解决办法的的核心和关键,只需要保证消息落在一个队列中即可,那么怎么才能落在一个队列中呢?如下两种办法
全局有序
该topic中只有一个队列,那么生产者生产的消息自然而然都落到了这个队列中,保证了消息的顺序性
分区有序
通过实现队列选择器接口,将消息数据中某个唯一主键作为选择队列的key,自定义算法保证相同主键选中的队列一样,这样就保证了消息的顺序性
延迟消息
延迟消息的另外一个功能就是可以完成定时任务,因为延迟消息中分了不同的延时等级,每个等级表示间隔多长时间后该消息方可被消费者消费,延迟等级如下:

事务消息
类XA模式的一个事务消息