简单模式(一对一的发送)

简单模式是最简单的消息模式,它包含一个生产者、一个消费者和一个队列。生产者向队列里发送消息,消费者从队列中获取消息并消费。

5模式 - 图1

①生产者发送消息给交换机
②交换机接收消息,如果交换机没有绑定队列,消息扔进垃圾桶
③队列接收消息,存储在内存,等待消费者连接监听获取消息,消费成功后,返回确认

工作模式(资源的争抢)

5模式 - 图2

①生产者将消息发送给交换机
②交换机发送给绑定的后端队列
③一个队列被多个消费者同时监听,形成消息的争抢结构:根据消费者所在的系统的空闲、性能争抢队列中的消息

场景:抢红包

发布订阅(交换机类型为fanout)

5模式 - 图3

①交换机定义类型为:fanout
②交换机绑定多个队列
③生产者将消息发送给交换机,交换机复制同步消息到后端所有的队列中
一些场景:邮件群发

路由模式(交换机类型:direct)

5模式 - 图4

①交换机定义类型为:direct
②交换机绑定多个队列,队列绑定交换机时,给交换机提供了一个routingkey(路由key)
③发布订阅时,所有fanout类型的交换机绑定后端队列用的路由key都是“”;在路由模式中需要绑定队列时提供当前队列的具体路由key
一些场景:错误消息的接收和提示

主题模式(交换机类型:topic)

5模式 - 图5

①交换机定义类型为:topic
②交换机绑定多个队列,与路由模式非常相似,做到按类划分消息
③路由key队列绑定的通配符如下:#表示任意字符串,*表示没有特殊符号(单词)的字符串

参考

https://www.cnblogs.com/rmxd/p/11583932.html