rabbitmq消息订阅发布

Posted jintian

tags:

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

fanout: 广播 , exclusire=True 随机唯一的

广播模式:实时的

技术图片
import pika
import sys

credentials = pika.PlainCredentials(alex, alex123)
connection = pika.BlockingConnection(pika.ConnectionParameters(
    192.168.14.52,credentials=credentials))
channel = connection.channel()



channel.exchange_declare(exchange=logs,type=fanout)

message =  .join(sys.argv[1:]) or "info: Hello World!"

channel.basic_publish(exchange=logs,
                      routing_key=‘‘,
                      body=message)
print(" [x] Sent %r" % message)
connection.close()
fanout_send.py
技术图片
import pika

credentials = pika.PlainCredentials(alex, alex123)
connection = pika.BlockingConnection(pika.ConnectionParameters(
    192.168.14.52,credentials=credentials))
channel = connection.channel()


channel.exchange_declare(exchange=logs, type=fanout)

result = channel.queue_declare(exclusive=True)  # 不指定queue名字,rabbit会随机分配一个名字,exclusive=True会在使用此queue的消费者断开后,自动将queue删除
queue_name = result.method.queue



channel.queue_bind(exchange=logs, queue=queue_name)

print( [*] Waiting for logs. To exit press CTRL+C)


def callback(ch, method, properties, body):
    print(" [x] %r" % body)


channel.basic_consume(callback, queue=queue_name,no_ack=True)

channel.start_consuming()
fanout_receive.py

技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片

以上是关于rabbitmq消息订阅发布的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMq初探——发布与订阅

Python-RabbitMQ消息队列的发布与订阅

RabbitMQ 发布订阅持久化

RabbitMQ/JAVA (发布/订阅模式)

RabbitMQ之发布订阅

rabbitmq消息订阅发布