在Linux环境下,RabbitMQ是一个广泛使用的消息代理和队列服务器,它支持多种消息路由模式。以下是RabbitMQ中几种常见的消息路由方式:
rabbitmqctl add_exchange my_direct_exchange direct
rabbitmqctl add_queue my_queue
rabbitmqctl set_binding my_queue my_direct_exchange "" "my_routing_key"
channel.basic_publish(exchange='my_direct_exchange', routing_key='my_routing_key', body='Hello World!')
* 和 #)。
* 匹配一个单词# 匹配零个或多个单词rabbitmqctl add_exchange my_topic_exchange topic
rabbitmqctl add_queue my_topic_queue
rabbitmqctl set_binding my_topic_queue my_topic_exchange "" "my.*.routing_key"
channel.basic_publish(exchange='my_topic_exchange', routing_key='my.sub.routing_key', body='Hello World!')
rabbitmqctl add_exchange my_fanout_exchange fanout
rabbitmqctl add_queue my_fanout_queue1
rabbitmqctl add_queue my_fanout_queue2
rabbitmqctl set_binding my_fanout_queue1 my_fanout_exchange ""
rabbitmqctl set_binding my_fanout_queue2 my_fanout_exchange ""
channel.basic_publish(exchange='my_fanout_exchange', routing_key='', body='Hello World!')
rabbitmqctl add_exchange my_headers_exchange headers
rabbitmqctl add_queue my_headers_queue
rabbitmqctl set_binding my_headers_queue my_headers_exchange "" '{"type": "info"}'
channel.basic_publish(exchange='my_headers_exchange', routing_key='', properties=pika.BasicProperties(headers={'type': 'info'}), body='Hello World!')
channel.queue_declare(queue='my_default_queue')
channel.basic_publish(exchange='', routing_key='my_default_queue', body='Hello World!')
sudo systemctl start rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management
http://<your_server_ip>:15672/,使用默认用户名和密码(guest/guest)登录。通过这些基本的路由模式和配置,你可以在Linux环境下灵活地使用RabbitMQ进行消息路由。根据具体需求选择合适的交换器类型,并进行相应的配置即可。