「这是我参与11月更文挑战的第 2 天,活动详情查看:2021最后一次更文挑战」
1、前言
上一次说到了RabbitMQ中的参数配置以及如何在本地搭建RabbitMQ服务。本次介绍下RabbitMQ中的六种应用模式和具体的使用场景。
2、Rabbit MQ应用模式介绍
1、简单模式:
简单模式下,一个生产者将消息发送到队列、然后一个消费者从队列中消费消息即为一对一的简单模式。一般在实际业务中这种模式的应用场景很少,通常我们会用redis来实现这种模式,也较为简单轻量些。
2、工作模式:
工作模式即一个队列有两个消费者,但是两个消费者同时监听一个队列,一个队列中一条消息,只能被一个消费者消费,他们并不会重复消费一条消息,而是随机消费。
3、订阅与发布模式:
此模式下,生产者不再将消息直接发送到队列,而是发送到交换机,然后由交换机发送给n个队列,不同的消费者各自监听一个队列,来消费消息。
4、路由模式:
在发布订阅模式下,如果有很多个队列,那么我们就需要多次进行绑定,十分的不方便,也很不灵活,所以有了路由模式。路由模式,顾名思义是根据不同的路由键,交换机将消息转发到不同的队列,然后再由消费者进行消费。
5、topic主题模式:
此模式下,可以根据正则表达式来进行路由规则的匹配。更加的灵活方便。这也是实际生产环境中使用较多的一种。(PS:可以使用#. .*等正则来匹配路由键,当路由规则不是正则表达式,topic模式和路由模式一样。当路由规则不为表达式,且路由规则一样时,就变成了订阅模式)
6、RPC模式:
生产者,多个消费者,通过路由规则,消息发送到多个队列,但一个队列,一条消息只会被一个消费者消费(有多个消费者时也一样)