前言:为何使用交换机 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出现通配符)