rabbitmq队列模式

1、简单队列:

rabbitmq队列模式

生产者将消息发送到队列消费者从队列中获取消息

rabbitmq队列模式

rabbitmq队列模式

rabbitmq队列模式





2、work模式:

1)普通work模式

rabbitmq队列模式

队列的消息会平均分发给C1和C2

rabbitmq队列模式

rabbitmq队列模式


2)work模式的能者多劳

在每个消费者的代码中加上红圈的内容,服务器同一时刻只发一条消息给消费者,待消费完成后再发下一条,  这样消费快的得到的消息就多。

rabbitmq队列模式



3)消息的确认模式:消费者消费后给队列的回应,队列确认消息被消费后删除消息

     分为手动确认和自动确认,如果为true,则不需要最后一句代码。

rabbitmq队列模式


3、订阅模式:

rabbitmq队列模式

消息发到交换机,再发到队列(如果交换机没有绑定队列,消息会丢失,因为交换机不能存储消息)。

这种模式使用的是Fanout Exchange,发布消息后,所有绑定的队列都能接收消息。


rabbitmq队列模式



rabbitmq队列模式


rabbitmq队列模式



4、路由模式:

Direct Exchange: 绑定交换机时指定key,发送消息时也指定key,key值匹配的队列才能获取到消息

rabbitmq队列模式


rabbitmq队列模式


rabbitmq队列模式


rabbitmq队列模式


5、通配符模式:

Topic Exchange: 

rabbitmq队列模式


rabbitmq队列模式


rabbitmq队列模式


rabbitmq队列模式


rabbitmq队列模式



上面介绍了rabbitmq常用5种队列模式,官方还有一种RPC队列模式,这里没介绍,因为RPC是系统间的一种远程调用模式,重点不在消息。