Rabbit 5大模式

Posted 假装Java大神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rabbit 5大模式相关的知识,希望对你有一定的参考价值。

1.rabbitMQ整体架构

简单描述一下rabbitMQ的组成部分
1.消息生产者
2.交换机
3.消息通道
4.消费者

如图: 

2.使用步骤

第一步: 创建链接

第二步: 创建通道

第三步: 创建交换机,如果简单模式 / 工作队列模式(用它自带的默认交换机)

第四步: 创建队列,完成交换机绑定队列

3.简单模式 、 工作队列模式

简单模式和工作队列基本一样,唯一区别就是工作队列模式支持多个消费者。
如果工作队列模式只保留一个消费者那就和简单模式一样。
需要注意的是 工作队列模式 如果存在多个消费者互相就会存在竞争关系

4.发布订阅模式行

发布订阅模式只需要指定交换机 ( 类型为 ExchangeTypes.FANOUT ) 不需要制定路由key,而且交换机可以绑定多个消息通道。
假设有多个消息通道绑定了发布订阅模式的交换机,当消息生产者进行生产了数据过后,那么绑定交换机的消息通道都可以获取到消息。
好处就是相同的消息内容只需要生产一遍,不同业务的消费者可以同时进行消费

5.路由模式

通俗来说路由模式就是带了路由key的发布订阅模式 ( 交换机类型为 ExchangeTypes.DIRECT ),区别就是多了路由key,使得消息通道可以有选择性来接受消息对应的消息 

6.主题模式

主题模式实际上与路由模式差不多,不同之处主题模式的routingKey可用通匹符。( 交换机类型为 ExchangeTypes.TOPIC )

一共有两种通配符
*: 代表匹配0-1个
#: 代表匹配0-N个 

以上是关于Rabbit 5大模式的主要内容,如果未能解决你的问题,请参考以下文章

RABBIT MQ 消息队列的工作模式

Rabbit简单队列模式

rabbit工作队列模式

rabbitMQ高可用方案

rabbit - producer的confirm和consumer的ack模式

找不到 XML 模式命名空间 rabbit JBOSS 的 Spring NamespaceHandler