zoukankan      html  css  js  c++  java
  • RabbitMQ消息队列

    RabbitMQ

    1.什么是rabbitmq

    在生产者和消费者之间加了一个中间件——消息队列,用它可以来干嘛呢?

    它是来做消息转发的,当请求过来之后,不是直接发给服务器,而是发给消息队列,然后消息队列把消息中转一下再发给服务器

    2.作用

    • 存储消息、数据
    • 保证消息的顺序
    • 保证数据的正确交付

    3.rabbitmq安装

    安装rabbitmq之前先安装erlang

    1.网址选择下载软件

    https://www.rabbitmq.com/

     

     

     2.安装一直下一步即可

    4.安装erlang

    1.网址下载

    https://www.erlang.org/

     

     2.安装一直下一步即可

    python使用rabbitmq

    https://www.rabbitmq.com/install-windows.html

    1.安装pika

    #pika是python操作rabbitmq的模块
    pip3 install pika

    2.生产者代码

    import pika
    #1.链接到rabbitmq
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    #2.创建消息队列并命名
    channel.queue_declare(queue='hello')
    #3.发送消息
    channel.basic_publish(exchange='',
                          routing_key='hello', #消息队列名
                          body='Hello World!') #要发送的消息
    
    print(" [x] Sent 'Hello World Done!'")
    #4.关闭链接
    connection.close()

    3.消费者代码

    import pika
    #1.链接rabbitmq代码
    connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
    channel = connection.channel()
    #2.队列名
    channel.queue_declare(queue='hello')
    #3.回调函数:body:要接受的数据为二进制字符串
    def callback(ch, method, properties, body):
        print(" [x] Received %r" % body)
    
    channel.basic_consume(queue='hello', #队列名
                          auto_ack=True, #告诉消费者已经拿到了数据
                          on_message_callback=callback) #回调函数
    
    print(' [*] Waiting for messages. To exit press CTRL+C')
    #4
    channel.start_consuming()

    4.运行

    生产者cmd窗口

    python3 生产者文件名.py

    消费者cmd窗口2

    python3 消费者者文件名.py
  • 相关阅读:
    053467
    053466
    053465
    NC201613 Jelly
    NC14608 after与迷宫
    NC14572 走出迷宫
    340. 通信线路
    1135. 新年好
    903. 昂贵的聘礼
    P5767 [NOI1997]最优乘车
  • 原文地址:https://www.cnblogs.com/tfzz/p/12101393.html
Copyright © 2011-2022 走看看