RabbitMQ单机瞎玩(1)
这个玩意儿在实际生产环境中可以深刻学习,比如OpenStack集群,并发量也有,真实环境。
但假如是单机,那...就玩玩吧,学习一下基本过程。Here we go!
1、安装单机集群模式
(单机模式就是玩玩,什么都做不了):
前面已经记录过了,很简单
https://blog.csdn.net/cd_yourheart/article/details/108258317
2、熟悉一下Web界面
[root@compute ~]# rabbitmqctl list_queues
Listing queues
# 这里什么队列都没有[root@compute ~]# rabbitmqctl list_exchanges
Listing exchanges
amq.direct direct
amq.headers headers
amq.rabbitmq.trace topicdirect
amq.topic topic
amq.match headers
amq.fanout fanout
amq.rabbitmq.log topic
# 这里是交换机
上面是在终端查看队列和交换机,也可以在Web界面查看,比如,下面是交换机
3、发布一条消息
编辑文件send.py如下
#!/usr/bin/env python
import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()channel.queue_declare(queue='hello')
# 特别注意:当未定义exchange时,routing_key需和queue的值保持一致
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!RabbitMQ,lzb.')print(" [x] Sent 'Hello World!'")
connection.close()
执行一下send.py
可以看到有一个消息已经ready了,但它此时并没有被消费,下图Queues显示1,因为channel.queue_declare(queue='hello')这句就是声明一个名为hello的队列
点进Queues看一下,可以发现显示的就是发送的名称为hello的队列
查看一下所有的队列list如下:
[root@compute ~]# rabbitmqctl list_queuesListing queues
hello 1
我们修改一下send.py中的队列名称为yueyue,然后再发送,可以看到有两个Ready队列了
#!/usr/bin/env python
import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()channel.queue_declare(queue='yueyue')channel.basic_publish(exchange='', routing_key='hello', body='Hello World!RabbitMQ,lzb.')
print(" [x] Sent 'Hello World!'")
connection.close()
下图所示,两个队列名字不同,在同一个节点
再次在终端查看一下当前存在的队列列表,多了yueyue队列
[root@compute ~]# rabbitmqctl list_queuesListing queues
yueyue 0
hello 2
但是从上面看到,第二次发送的yueyue,没有携带消息?hello两条消息?
这是怎么回事?可能是第二次修改的时候只修改了queue,没有改routing_key?
验证一下,这次把routing_key也改为yueyue,试一下
可以看到,Ready增到3,Queues仍为2,因为只是增加了一条消息,没有新增队列
[root@compute ~]# rabbitmqctl list_queuesListing queues
yueyue 1
hello 2
现在就对了,就是因为,第二次的时候虽然新增了yueyue队列,但是消息绑定的routing_key却是hello队列
现在再测试一次,将routing_key改为yueyue2,然后执行
可以看到,有消息发布,0.40/s,但是Ready没有增加,说明什么?说明没有队列绑定到yueyue2,没有消费者,这里还不清楚是怎么处理的,是不是直接删除,还是持久化,后面再回头研究,Flag!
我又试了一下这样
结果是队列增加了一个yueyue3,但是消息还是没有增加,应该是被删除了
又试了一下这样,注释掉创建队列那行,然后用了yueyue*,也不行
再试一次
不行,不写routing_key的话,也是找不到
那暂时也就是先这样了,现在有四个队列,两个空的
现在把两个空队列删除,点击对应name,下拉找到删除即可
好,刚好在下班之前写好这些。明天继续!奥里给!
RabbitMQ单机瞎玩(1)相关推荐
- RabbitMQ单机瞎玩(2)
[<<==RabbitMQ单机瞎玩(1)] 现在还剩下两个队列了,下面运行一下receive.py #!/usr/bin/env python import pikaconnection ...
- centos7 rabbitmq 单机部署 集群部署 HAProxy 负载均衡搭建
准备工作 搭建 RabbitMQ Server 单机版 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 一.准备工作 节点 系统 版本 ip node1 centos ...
- RabbitMQ单机到集群完整搭建(一)
文章目录 **RabbitMQ 安装和使用** **一.安装依赖环境** **二.安装RabbitMQ** **三.启动和关闭** 四.开启Web管理插件 **五.防火墙添加端口** **多机多节点集 ...
- Python 爬虫瞎玩系列(1) —— Bilibili的前100个上古巨坟考古
Python 爬虫瞎玩系列(1) -- Bilibili的前100个上古巨坟考古 现在是2017年5月25日13:29:56,嗯,神志正常. Python爬虫很难?不存在的. 只要学习我的课程< ...
- rabbitmq单机到集群完整搭建
RabbitMQ 安装和使用 一.安装依赖环境 二.安装RabbitMQ 三.启动和关闭 四.开启Web管理插件 五.防火墙添加端口 多机多节点集群部署 一. 环境准备 二.修改配置文件 三.防火墙添 ...
- channel rabbitmq 配置_「喵咪MQ(2)」RabbitMQ单机模式使用
哈喽!本周我们又见面了,今天呢我们接着说MQ软件RabbitMQ的故事,在上小节以及成功的安装了RabbitMQ也配置了开机启动,那么我们应该要开始的真正的接触并且使用它来管理使用解决业务问题,请紧张 ...
- RabbitMQ单机多实例配置
欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...
- RabbitMQ单机部署
生产者先将消息投递一个叫做「队列」的容器中,然后再从这个容器中取出消息,最后再转发给消费者,仅此而已 消息队列服务RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的 ...
- 烈焰 页游 一键端 单机自玩 架设
链接: http://pan.baidu.com/s/1dFODpOd 密码: 5kvw 爽 经典 传奇再现 不错 自取自玩 手游源码架设 422209275
最新文章
- 《响应式Web设计:HTML5和CSS3实践指南》——2.9节基于位置伪类的交替行样式
- Struts2中的action类
- 讲你肯定能懂的机器学习多维极值求解 1
- Python中的常见特殊方法—— repr方法
- java输出毫秒时间
- 【Python】Sklearn加载load_digits样本数据集
- 小程序tab切换效果
- AIR访问操作系统剪贴板粘贴操作延迟呈现解决办法
- Slog76_用一个简单的游戏演示与数据库的交互(微信小程序之云开发-全栈时代6)...
- 计算机一级考试题库字处理题库,全国计算机一级考试题库试题
- 最新全国行政区划,省市区县乡镇四级json数据
- 【实习周报】2019年5月 前端开发实习工作周报汇总
- WE出海增长图书馆 | 世界杯豪门面纱下,不容忽视的【增长】沃土
- 信息源按加工深度划分_信息检索教程
- 应付职称评定的论文-《七星彩神经网络预测系统》原型开发构想
- 数字货币主流币是什么意思?三分钟读懂数字货币主流币
- VLC保存网络流到本地和fiddler下载视频
- 如何使用visual studio将你的程序打包成安装包
- CUDNN历史版本下载地址,可跳过登录下载cudnn
- 再探传说──啤酒与尿布的故事