RabbitMQ - [核心] 交换机 Exchanges + 广播类型

前言:为何使用交换机 Exchanges?

在简单模式和工作模式中,生产者发布一个消息,会通过默认路由,路由到一个队列中,只能被一个消费者消费,不能重复消费。

 

 

如果想让一个消息被多个消费者消费,就需要通过交换机exchanges将消息路由routing到多个队列中即可。这就是发布订阅模式。

 

 

 

一、Exchanges 的概念

  

 

二、Exchanges 的类型

2.1 无名交换机(默认)

 

2.2 扇出交换机 Fanout (RoutingKey为空,广播)

生产者发布的消息,到达扇出交换机后,会推送到所有和交换机绑定的队列上(此时的RoutingKey就是空字符串“”)--本质就是广播

系统有个默认的Fanout扇出交换机。

  

消费者代码

  

生产者代码

 

 

2.3 直接交换机 Direct(RoutingKey不同)

 

实战:log4j不同层级的log信息,储存在不同的文件中

  

消费者C2代码

 

消费者C1代码

 

生产者P代码

 

2.4 主题交换机 Topic(RoutingKey出现通配符)

 

  

三、交换机和队列的绑定Binding

3.1 新建队列

 

 

 

3.2 新建交换机

 

 

 

 

3.3 两者绑定

 

posted on 2021-07-10 00:51  frank_cui  阅读(113)  评论(0编辑  收藏  举报

导航

levels of contents