1.RabbitMQ工作模式
RabbitMQ有以下几种工作模式 :
1、Work queues
2、Publish/Subscribe (fanout)
3、Routing (direct)
4、Topics (topics)
5、Headers(headers)
6、RPC
work queues
与入门程序相比,多了一个消费端,两个消费端共同消费同一个队列中的消息。
应用场景:对于 任务过重或任务较多情况使用工作队列可以提高任务处理的速度。
测试:
1、使用入门程序,启动多个消费者。
2、生产者发送多个消息。
结果:
1、一条消息只会被一个消费者接收;
2、rabbit采用轮询的方式将消息是平均发送给消费者的;
3、消费者在处理完某条消息后,才会收到下一条消息。
Publish/Subscribe
发布订阅模式:
1、每个消费者监听自己的队列。
2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息
Routing
路由模式:
1、每个消费者监听自己的队列,并且设置routingkey。
2、生产者将消息发给交换机,由交换机根据routingkey来转发消息到指定的队列。
Routing模式和Publish/subscibe有啥区别? (使用routing完全可以实现Publish/subscibe 的功能)
Routing模式要求队列在绑定交换机时要指定routingkey,消息会转发到符合routingkey的队列