【<<==RabbitMQ单机瞎玩(1)】


现在还剩下两个队列了,下面运行一下receive.py

#!/usr/bin/env python
import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()#channel.queue_declare(queue='hello')
#这行去掉了,因为已经有了hello队列,不用再声明了def callback(ch, method, properties, body):print(" [x] Received %r" % body)#这里的一个参数老版本是no_ack,更新版本改为auto_ack
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

上图可以看到,Ready消息减少两条,被消费了,同时增加了一个连接,一个通道,一个消费者

将消费队列修改为yueyue,在新终端再运行一次receive.py,可以看到所有消息都被消费了

这时,有了两个连接,这是因为两个receive.py都在监听状态,没有退出,

[root@compute lab1]# python receive.py[*] Waiting for messages. To exit press CTRL+C[x] Received 'Hello World!RabbitMQ,lzb.'[x] Received 'Hello World!RabbitMQ,lzb.'

当退出一个receive后,连接通道和消费者都减为1

持久化

#-*-coding:utf-8-*-
import pikaconnection = pika.BlockingConnection(pika.ConnectionParameters(host='127.0.0.1', port=5672, ))     #定义连接池
channel = connection.channel()
channel.queue_declare(queue='lzb',durable = True)
#声明队列以向其发送消息
for i in range(10):channel.basic_publish(exchange='', routing_key='lzb', body='Hello World!',properties=pika.BasicProperties(delivery_mode = 2))  #注意当未定义
exchange时,routing_key需和queue的值保持一致
print('send success msg to rabbitmq')
connection.close()   #关闭连接

可以看到队列lzb的Features有个D,这个就代表是持久化Durable

记住上面的三个队列状态,我现在要关机重启一下试试了。

刚要关机,一想不对呀,我这是单机集群,一关机岂不都挂掉了嘛

可以选择停掉一个节点

rabbitmqctl stop -n rabbit@compute

上面的三个队列都存在这个节点的

然后就可以看到停掉的节点挂了,我们去另外两个节点逛逛,如下

队列显示为0了,但是点进队列里看到,之前持久化的队列还在

执行下面操作,节点可以启动

systemctl start rabbitmq-server.service

但是,重启的这个节点脱离集群了,而且之前此节点的队列都没了

另外两个节点的状态没有变化

[root@compute lab2]# rabbitmqctl cluster_statusCluster status of node rabbit@compute[{nodes,[{disc,[rabbit@compute]}]},{running_nodes,[rabbit@compute]},{cluster_name,<<"rabbit@compute">>},{partitions,[]},{alarms,[{rabbit@compute,[]}]}]

此时应该可以把重启的节点重新假如集群吧,试一下

抛了个错误

[root@compute lab2]# rabbitmqctl -n rabbit join_cluster rabbit_1@computeClustering node rabbit@compute with rabbit_1@computeError:  Mnesia is still running on node rabbit@compute.Please stop the node with rabbitmqctl stop_app first.

让先把rabbit@compute停掉,如下

[root@compute lab2]# rabbitmqctl -n rabbit stop_appStopping rabbit application on node rabbit@compute

停掉后重新加入集群

[root@compute lab2]# rabbitmqctl -n rabbit join_cluster rabbit_1@computeClustering node rabbit@compute with rabbit_1@computeError: {inconsistent_cluster,"Node rabbit_1@compute thinks it's clustered with node rabbit@compute, but rabbit@compute disagrees"}

好了,崩了。

RabbitMQ单机瞎玩(2)相关推荐

  1. RabbitMQ单机瞎玩(1)

    这个玩意儿在实际生产环境中可以深刻学习,比如OpenStack集群,并发量也有,真实环境. 但假如是单机,那...就玩玩吧,学习一下基本过程.Here we go! 1.安装单机集群模式 (单机模式就 ...

  2. centos7 rabbitmq 单机部署 集群部署 HAProxy 负载均衡搭建

    准备工作 搭建 RabbitMQ Server 单机版 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 一.准备工作 节点 系统 版本 ip node1 centos ...

  3. RabbitMQ单机到集群完整搭建(一)

    文章目录 **RabbitMQ 安装和使用** **一.安装依赖环境** **二.安装RabbitMQ** **三.启动和关闭** 四.开启Web管理插件 **五.防火墙添加端口** **多机多节点集 ...

  4. Python 爬虫瞎玩系列(1) —— Bilibili的前100个上古巨坟考古

    Python 爬虫瞎玩系列(1) -- Bilibili的前100个上古巨坟考古 现在是2017年5月25日13:29:56,嗯,神志正常. Python爬虫很难?不存在的. 只要学习我的课程< ...

  5. rabbitmq单机到集群完整搭建

    RabbitMQ 安装和使用 一.安装依赖环境 二.安装RabbitMQ 三.启动和关闭 四.开启Web管理插件 五.防火墙添加端口 多机多节点集群部署 一. 环境准备 二.修改配置文件 三.防火墙添 ...

  6. channel rabbitmq 配置_「喵咪MQ(2)」RabbitMQ单机模式使用

    哈喽!本周我们又见面了,今天呢我们接着说MQ软件RabbitMQ的故事,在上小节以及成功的安装了RabbitMQ也配置了开机启动,那么我们应该要开始的真正的接触并且使用它来管理使用解决业务问题,请紧张 ...

  7. RabbitMQ单机多实例配置

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. RabbitMQ单机部署

    生产者先将消息投递一个叫做「队列」的容器中,然后再从这个容器中取出消息,最后再转发给消费者,仅此而已 消息队列服务RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的 ...

  9. 烈焰 页游 一键端 单机自玩 架设

    链接: http://pan.baidu.com/s/1dFODpOd 密码: 5kvw 爽 经典 传奇再现 不错 自取自玩 手游源码架设 422209275

最新文章

  1. ubuntu18.04.4 安装 微信
  2. 轻轻的我走了,正如我轻轻的来…——ADO.NET核心类的灭度与SQLHelper的诞生——十八相送(下)...
  3. [IOI2008] Fish 鱼
  4. python Selenium 常见操作 元素定位
  5. selenium.common.exceptions.SessionNotCreatedException
  6. java注销登录_java实现注销登录
  7. c语言程序设计 银行整存整取,《C语言程序设计习题试题集》.doc
  8. 计算机控制分离性原理是什么,(第12讲)状态观测器和分离原理.ppt
  9. CLion之C++框架篇-安装工具,基础框架的搭建(一)
  10. python的平方运算符_python入门之与用户交互、运算符
  11. Web前端开发规范之脚本文件和动态文本文件命名规则
  12. 1500页,40万字,阿里淘系技术2020技术年货来了!
  13. 容器技术Docker K8s 29 容器服务ACK基础与进阶-弹性伸缩
  14. 大型电子病历系统【整套源代码分享】
  15. 苹果手机有4g信号但是微信未连接服务器,苹果5s有显示4g网络但无上微信 是不是那里设置了 今天才出现的...
  16. 爱江山更爱美人自动刷小号请安膜拜
  17. java计算机毕业设计-线上自助旅游报名网-源程序+mysql+系统+lw文档+远程调试
  18. BO 4.3支持微软的Azure Synapse Analytics 吗?
  19. 用户召回你真的会吗?10%召回率仅需三步!
  20. 计算机控制技术(机器人方向)理论与实践补充资料和复习说明(2019版)

热门文章

  1. 微服务架构案例(06):通过业务、应用、技术、存储方面,聊聊架构
  2. 微服务架构案例(03):数据库选型简介,业务数据规划设计
  3. mysql主从复制的binlog和relay-log的区别
  4. ipconfig /flushdns 清除系统DNS缓存
  5. Android -- 自定义ScrollView实现放大回弹效果
  6. hibernate自带的注解和jpa注解的冠希
  7. (转)一台服务器安装两个tomcat6 服务的解决方案
  8. NO.54 在禅道里建立部门结构、添加用户
  9. OJ1068: 二进制数(C语言)
  10. android 代码发adb,Android预安装软件adb命令编译源码