参考
http://dc0127.blog.163.com/blog/static/11217896201322394228794/
官网例子说明(通俗易懂) http://www.rabbitmq.com/tutorials/tutorial-three-python.html
自我理解知识点
一. rabbitmqctl命令
rabbitmqctl list_exchanges (显示所有exchanges) ,默认exchange =' ', 是direct类型

rabbitmqctl list_queues (显示所有queue)

rabbitmqctl list_bindings(显示exchange 和queue的绑定关系)

清空rabbitmq上的所有信息 参考 http://stackoverflow.com/questions/11459676/how-to-delete-all-the-queues-from-rabbitmq

二. 开发相关
1.rabbitmq服务器有一个默认的exchange ,名为‘’
2.定义一个queue,都会自动绑定到exchange ' ' 上,且绑定条件为queue名
程序生成一个名为'que‘的队列,并且向exchange为’‘ 上发送绑定条件为'que’的信息'que_message',则该消息被exchange ' ' 发送到que队列上
| import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) channel = connection.channel() channel.queue_declare(queue='que',durable=True) message = ' '.join(sys.argv[1:]) or "Hello world!" channel.basic_publish(exchange='', routing_key='que', body='que_message', properties = pika.BasicProperties(delivery_mode = 2,#make message persistent )) print "[x] sent %r " %(message,) connection.close() |
队列信息 (消息有一条)

绑定信息 exchange名 为 ‘ ’ ,queue 名为que,绑定条件que

3.exchange 和queue的对应关系为多对多,建立新的名为test_exchange的exchange,类型为direct,将2定义的que队列绑定到该exchange,绑定关系为que_key,发送消息'test_message'
| #!/usr/bin/env python import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) channel = connection.channel() channel.exchange_declare(exchange='test_exchange',type='direct') #channel.queue_declare(queue='que',durable=True) channel.queue_bind(exchange='test_exchange',queue='que',routing_key='que_key') message = ' '.join(sys.argv[1:]) or "Hello world!" channel.basic_publish(exchange='test_exchange', routing_key='que_key', body='test_message', properties = pika.BasicProperties(delivery_mode = 2,#make message persistent )) print "[x] sent %r " %(message,) connection.close() |
队列消息 (新增一条消息)

绑定关系 (新增test_exchange 和que的绑定关系)

4.当消息没有找到匹配的queue,则exchange将消息丢弃
5.rabbit web管理
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management (enable插件)
service rabbitmq-server restart (重启服务)http://localhost:55672 (访问)
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management (disable插件)
理解 RabbitMQ 的核心组件与操作
1204

被折叠的 条评论
为什么被折叠?



