【RabbitMQ(day3)】扇形交换机和主题交换机的应用
在RabbitMQ中,扇形交换机(Fanout Exchange)和主题交换机(Topic Exchange)是两种常用的交换机类型。
- 扇形交换机:将接收到的消息广播到所有与其绑定的队列。
import pika
# 连接到RabbitMQ服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 声明一个扇形交换机
channel.exchange_declare(exchange='logs_fanout', exchange_type='fanout')
# 消息内容
message = "信息广播"
# 将消息发送到扇形交换机
channel.basic_publish(exchange='logs_fanout', routing_key='', body=message)
print(f" [发送] {message}")
connection.close()
- 主题交换机:根据消息的路由键与队列的绑定模式进行匹配,将消息路由到一个或多个队列。
import pika
# 连接到RabbitMQ服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# 声明一个主题交换机
channel.exchange_declare(exchange='logs_topic', exchange_type='topic')
# 消息路由键
routing_key = "k.test"
message = "主题匹配测试"
# 将消息发送到主题交换机
channel.basic_publish(exchange='logs_topic', routing_key=routing_key, body=message)
print(f" [发送] {routing_key}:{message}")
connection.close()
以上代码展示了如何声明并使用RabbitMQ中的扇形交换机和主题交换机。在实际应用中,还需要创建相应的队列并将它们绑定到对应的交换机上。
评论已关闭