阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_8.RabbitMQ研究-工作模式-发布订阅模式-生产者
Publish/subscribe:发布订阅模式
发布订阅模式:
1、每个消费者监听自己的队列。
2、生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收
到消息
中间多了个交换机
一个消息生产者先发送给交换机,由交换机把消息发送给各个队列。每个队列都有不同的消费者在监听
实现了发布一个消息 多个消费者都可以接收到这个消息了
如果把下面的队列干掉。那么红色圈出的部分和工作模式是相同的。工作对垒虽然没有交换机也会有一个默认的交换机。
所以说发布于订阅可以实现工作队列的功能。但是它比工作队列更强大,它就可以实现多个消费者同时来接受同一条消息
测试一下
案例:
用户通知,当用户充值成功或转账完成系统通知用户,通知方式有短信、邮件多种方法 。
两个消息队列分别代表了email和sms就是短信
定义一个新的生产者
把原来的代码逻辑复制到新的类里面
有一个交换机和两个队列
在声明队列的时候,声明两个队列
声明交换机
Ctrl+T 找到实现类
这就是方法的参数
替换机有很多的常量类型
几种类型
队列和交换机建立绑定
里面有很多的重载方法
绑定短信队列。
发送消息
每次发5条消息
第一个参数是交换机。第二个参数路由key还是设置为空,