FIFO(先进先出)队列
业务上严格要求消息的顺序性,则需要选择 FIFO 队列。
FIFO 队列有消息组的概念,发送消息时可为消息指定消息组,同一个消息组中的消息始终保持消息的顺序性,不同消息组的消息可能会失序。
消息投递:
exactly-once
顺序性:发送和接收消息的顺序一致
吞吐量:允许近乎无限
消息积压:不受限
飞行消息(传输中的消息):最多20000 条
消息失败处理:消息组会被阻塞,直到消息成功处理,但是其它消息组中的消息不受影响
标准队列和 FIFO 队列不能直接转换,即不能更改消息队列的类型,在必要情况下只能创建新的队列来代替旧队列。
死信队列(DLQ)
将启用了死信队列的队列,称为死信队列,所以死信队列可以是标准队列,也可以是先进先出队列
死信队列中持有其它队列无法处理的消息(服务于其它消息队列),如果其它消息队列需要使用死信队列,则要先创建死信队列,再将其作为这个消息队列的死信队列。
死信队列可以配置仅允许某些源队列将其作为死信队列,如果有其他源队列将其设为死信队列,则从源队列移到死信队列的所有消息都将失败。
一般进入死信队列的消息,需要人为介入排查失败原因。
延迟队列,不是一种队列类型,而是队列上的一个属性。
时间:延迟的有效时间为0 秒~15 分钟
作用:消息到达后,延迟特定时间后才会传递给使用者。
标准队列,更改此设置不会影响队列中已有的消息的延迟。
FIFO 队列,更改此设置会影响队列中已有的消息的延迟。
延迟队列 & 可见性超时
延迟队列,消息延迟被使用者消费。
可见性超时,消息被一个使用者接受后,其它使用者最长多久可以看到这条消息
waynaqua