rabbitmq中的模式都有哪些- 面试宝典
【摘要】 RabbitMQ中常用的模式包括以下几种:简单模式(Simple Mode):一对一的消息传递模式,即一个生产者向一个消费者发送消息。工作队列模式(Work Queue Mode):也称为任务队列模式,一个生产者发送消息到一个队列,多个消费者从该队列中获取消息并进行处理。发布/订阅模式(Publish/Subscribe Mode):一个生产者发送消息到一个交换机,交换机将消息发送给所有与之...
RabbitMQ中常用的模式包括以下几种:
- 简单模式(Simple Mode):一对一的消息传递模式,即一个生产者向一个消费者发送消息。
- 工作队列模式(Work Queue Mode):也称为任务队列模式,一个生产者发送消息到一个队列,多个消费者从该队列中获取消息并进行处理。
- 发布/订阅模式(Publish/Subscribe Mode):一个生产者发送消息到一个交换机,交换机将消息发送给所有与之绑定的队列,每个队列都有自己的消费者。
- 路由模式(Routing Mode):一个生产者发送消息到一个交换机,交换机根据消息的路由键将消息发送到指定的队列。
- 主题模式(Topic Mode):一个生产者发送消息到一个交换机,交换机根据消息的主题(Topic)将消息发送到符合条件的队列。
- Headers模式:与路由模式类似,但是使用消息头(Headers)来进行匹配,而不是使用路由键。 以上是RabbitMQ中常用的几种模式,根据不同的业务场景和需求,可以选择合适的模式来进行消息传递和处理。
以下是使用RabbitMQ的Python示例代码:
pythonCopy codeimport pika
# 连接RabbitMQ服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 定义队列名
queue_name = 'hello'
# 发送消息到队列
channel.queue_declare(queue=queue_name)
channel.basic_publish(exchange='', routing_key=queue_name, body='Hello, RabbitMQ!')
print("消息已发送")
# 定义回调函数来处理接收到的消息
def callback(ch, method, properties, body):
print("接收到的消息: %r" % body)
# 接收消息
channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)
print('等待接收消息...')
# 开始循环接收消息
channel.start_consuming()
# 关闭连接
connection.close()
以上示例代码展示了如何使用RabbitMQ发送和接收消息。首先,连接到RabbitMQ服务器,然后声明一个队列。发送消息时,使用basic_publish
方法将消息发送到指定的队列。接收消息时,使用basic_consume
方法指定回调函数来处理接收到的消息。最后,通过调用start_consuming
方法开始接收消息并进入循环,直到手动停止或关闭连接。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)