rabbitmq使用

Posted zunfengliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq使用相关的知识,希望对你有一定的参考价值。

 1.rabbitmq使用

 

- 目的: 可以下载镜像,使用rabbitmq
- 操作流程:

RabbitMQ介绍和使用

1,RabbitMQ介绍
  • 消息队列是消息在传输的过程中保存消息的容器

  • 现在主流消息队列有:RabbitMQActiveMQKafka等等。

  • RabbitMQ和ActiveMQ比较:

    • 系统吞吐量:RabbitMQ好于ActiveMQ
      
      持久化消息:RabbitMQ和ActiveMQ都支持
      
      高并发和可靠性:RabbitMQ好于ActiveMQ

       

  • RabbitMQ和Kafka:

    • 系统吞吐量:RabbitMQ弱于Kafka
      
      可靠性和稳定性:RabbitMQ好于Kafka比较
      
      设计初衷:Kafka是处理日志的,是日志系统,所以并没有具备一个成熟RabbitMQ应该具备的特性。

       

2,使用流程:
  • 1, 拉取镜像

    • docker pull rabbitmq:3-management
  • 2, 创建容器 

    docker run -d  --restart=always  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456  --name  myrabbitmq -p 35672:5672 -p 35673:15672  rabbitmq:3-management

     

  • 3, 浏览器访问

    172.16.12.134:35672
  • 4, 代码测试
      rabbitma_customer

  •  

    • import pika
      
      
      # 链接到rabbitmq服务器
      credentials = pika.PlainCredentials(admin, 123456)
      connection = pika.BlockingConnection(pika.ConnectionParameters(localhost,35672,/,credentials))
      # 创建频道,声明消息队列
      channel = connection.channel()
      channel.queue_declare(queue=zxc)
      # 定义接受消息的回调函数
      def callback(ch, method, properties, body):
              print(body)
      # 告诉RabbitMQ使用callback来接收信息
      channel.basic_consume(callback, queue=zxc, no_ack=True)
      # 开始接收信息
      channel.start_consuming()

        rabbitma_customer

    • import pika
      
      
      # 链接到RabbitMQ服务器
      credentials = pika.PlainCredentials(admin, 123456)
      connection = pika.BlockingConnection(pika.ConnectionParameters(localhost,35672,/,credentials))
      #创建频道
      channel = connection.channel()
      # 声明消息队列
      channel.queue_declare(queue=zxc)
      # routing_key是队列名 body是要插入的内容
      channel.basic_publish(exchange=‘‘, routing_key=zxc, body=Hello RabbitMQ!)
      print("开始向 ‘zxc‘ 队列中发布消息 ‘Hello RabbitMQ!‘")
      # 关闭链接
      connection.close()

       

  • 注意点:

    • 运行测试代码需要安装pip install pika==0.13.1

       




以上是关于rabbitmq使用的主要内容,如果未能解决你的问题,请参考以下文章

带着新人学springboot的应用07(springboot+RabbitMQ 下)

rabbitmq演示代码

RabbitMQ代码第一步

RabbitMQ代码第一步

RabbitMQ---延迟队列,整合springboot

微信小程序代码片段