阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_9.RabbitMQ研究-工作模式-发布订阅模式-消费者
消费者需要写两个消费者
定义邮件的类

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

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

监听修改为email 的队列的名称

手机短信接收端
复制一份email的接收端的代码 改名叫做sms

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


启动程序测试
先启动生产者

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

可以看到我们新建的交换机

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

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

可以看到每个队列都有5条消息

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

email消费者读取了5条消息

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

启动手机短信消费者
也读取了5条消息

总结
交换机这里绑定两个对列

一个链接里面可以建多个通道。

我们启动了两个进程 就占两个链接

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

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

消费者标签由于我们指定,所以就是一个随即的号

消费者就有绑定队列

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

重新运行生产者的程序


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

发布订阅可以实现工作队列模式


工作队列的模式是,多个消费者监听一个队列。
我们可以再去创建一个队列c3去监听c1的队列。

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

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


现在就有三个通道

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


再次发送消息

email只有一个监听 所以接收到了5条

短信的有两个监听,所以是轮询的方式

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

发布订阅完全具备了工作队列的模式,比工作队列的模式更加强大
阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_9.RabbitMQ研究-工作模式-发布订阅模式-消费者的更多相关文章
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_13.RabbitMQ研究-工作模式-header和rpc工作模式
header模式 header模式与routing不同的地方在于,header模式取消routingkey,使用header中的 key/value(键值对)匹配 队列. 案例: 根据用户的通知设置去 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_12.RabbitMQ研究-工作模式-统配符工作模式测试
路由模式: 1.每个消费者监听自己的队列,并且设置带统配符的routingkey. 2.生产者将消息发给broker,由交换机根据routingkey来转发消息到指定的队列. 创建测试用例 交换机的名 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_11.RabbitMQ研究-工作模式-路由工作模式测试
先常见生产者 复制02的代码 先改一下交换机的名称 还需要制定routingKey.因为是两个消息 所以指定了两个routingKey 这里修改为当前指定的交换机名称 交换机和队列在绑定的时候指定我们 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_10.RabbitMQ研究-工作模式-路由工作模式介绍
队列在绑定交换机的时候可以指定routingKey, 路由模式: 1.每个消费者监听自己的队列,并且设置routingkey. 2.生产者将消息发给交换机,由交换机根据routingkey来转发消息到 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_8.RabbitMQ研究-工作模式-发布订阅模式-生产者
Publish/subscribe:发布订阅模式 发布订阅模式: 1.每个消费者监听自己的队列. 2.生产者将消息发给broker,由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将 ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_7.RabbitMQ研究-工作模式-工作队列模式
RabbitMQ有以下几种工作模式 : 1.Work queues 2.Publish/Subscribe 3.Routing 4.Topics 5.Header 6.RPC 1.Work queue ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_3.RabbitMQ研究-工作原理
Producer生产者 Consumer:消费者 组成部分说明如下: Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue. Exchange:消息队列交换机,按一定的规则 ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_16-页面静态化-模板管理-模板制作
这是轮播图的原始文件 运行门户需要把 nginx启动起来 单独运行轮播图.把里面的css的引用都加上网址的url 这就是单独访问到的轮播图的效果 轮播图模板的地址: 阶段5 3.微服务项目[学成在线] ...
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_16-CMS前端工程创建-导入系统管理前端工程
提供了基于脚手架封装好的前端工程 H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\阶段5 3.微服务项目[学成在线]·\day02 CMS前端开发\资料\xc-ui-p ...
随机推荐
- k2系列-开发篇
上一篇讲到K2安装的具体操作,本篇我们具体讲一下在VS环境下如何开发K2工作流. 常用工具控件说明: 节点关联线:流程各节点之间的关联线 客户端节点:流程的基本元素 服务器端节点:流程的完成标识节点 ...
- 【转】PS1应用-修改linux终端命令行字体颜色
原文链接:https://www.jianshu.com/p/4239d3ea72fe cd ls -la vim .bashrc 在.bashrc中加入这一行: PS1="\[\e[37; ...
- [Abp vNext微服务实践] - 文章目录
简介 ABP vNext是volosoft的新一代框架,ABP(vNext)完全使用.NET CORE和DDD(领域驱动)打造,目前GitHub已有6K+次提交,发布版本超过40次,Nuget包下载量 ...
- nginx配置跨域之后每次访问会发送两次请求
公司项目从前后端不分离转到前后端分离 首先遇到的问题就是前后端分离的时候跨域的问题 但是当跨域成功配置并且能访问成功的时候发现 每次客户端的请求都会发送两次 第一次是OPTIONS的请求,然后才是正常 ...
- 后端数据中含有html标签和css样式,前端如何转译展示样式效果。
后端含有html标签和css样式的数据: domain="<span style='color:red'>www.baidu.com</span>" (vu ...
- [2019HDU多校第三场][HDU 6603][A. Azshara's deep sea]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6603 题目大意:给出一个凸包,凸包内有若干个圆,要求画尽可能多的对角线使得他们两两不在凸包内相交且不与 ...
- 004——转载C#禁止改变窗体大小
原文链接:http://www.cnblogs.com/shaozhuyong/p/5545005.html 1.先把MaximizeBox和MinimumBox设置为false,这时你发现最大最小化 ...
- LibreOJ #114. k 大异或和
二次联通门 : LibreOJ #114. k 大异或和 /* LibreOJ #114. k 大异或和 WA了很多遍 为什么呢... 一开始读入原数的时候写的是for(;N--;) 而重新构造线性基 ...
- 查询Linux下文件格式.
备忘 file 命令可以查一个文件的格式 readelf -h 可执行文件名. 可以查询可执行文件的详细的格式 向Windows中exeinfo 软件类
- 和证书相关的文件格式: Pem, Pfx, Der
Pem Pem是最常见的证书文件格式.常见文件扩展名为.pem. 其文件内容采用如下格式: -----BEGIN CERTIFICATE----- Base64编码的证书内容-----END CERT ...