阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_9.RabbitMQ研究-工做模式-发布订阅模式-消费者

消费者须要写两个消费者测试

定义邮件的类


复制之前的代码到邮件类里面进行修改

最上面 声明队列的名称和交换机的名称

监听修改成email 的队列的名称
3d

手机短信接收端

复制一份email的接收端的代码 更名叫作sms


队列的名称改为短信的队列名称

blog

启动程序测试

先启动生产者

生产者启动后就发送了5条消息出去


能够看到咱们新建的交换机

点击交换机进来,显示绑定了两个队列


咱们的代码Routing Key设置的为空


能够看到每一个队列都有5条消息
队列

启动消费者,启动email的消费者


email消费者读取了5条消息

此时队列里面已经没有了 消息
进程

启动手机短信消费者

也读取了5条消息
email

总结

交换机这里绑定两个对列

一个连接里面能够建多个通道。


咱们启动了两个进程 就占两个连接


每一个链接里面都有一个通道

点开第一个通道。通道里面显示有一个消费者,这是消费者的标签。

消费者标签因为咱们指定,因此就是一个随即的号

消费者就有绑定队列


另一个通道绑定的是手机短信的队列
程序

从新运行生产者的程序



两个消费者分别都接收到了这5条消息

im

发布订阅能够实现工做队列模式



工做队列的模式是,多个消费者监听一个队列。
咱们能够再去建立一个队列c3去监听c1的队列。

手机短信的队列已经启动起来了

再启动一个手机短信的队列



如今就有三个通道

启动两个通道是监听短信的

d3

再次发送消息



email只有一个监听 因此接收到了5条

短信的有两个监听,因此是轮询的方式

一个监听短信的收到 了3条 另一个个收到了两条。


发布订阅彻底具有了工做队列的模式,比工做队列的模式更增强大总结

相关文章
相关标签/搜索