rabbitmq 笔记

rabbitmq 为 amqp协议的实现。

实际使用过程中又要使用到pika这个库。

明确几个概念:

queue 官网说这个概念是信箱。 queue确实是消息的缓存区

exchange 这个概念负责消息的传递,官网说  rabbitmq 从来不直接把消息发送到queue中,也就是说只把消息发送到exchage这个服务中。

routing_key 安装官网给的教程,这个东西只有在exchange的type是direct 或者topic的时候才有作用

说一下联系:

官网说要把消息发给queue 你首先要让exchagne知道queue 怎么让exchage知道queue呢?

需要 channel的queue_bind这个方法让exchagne知道queue 让exchagne知道与routing_key绑定的queue

direct topic都可以支持routing_key 却别我以为就是topic支持* #通配符。

消息流:

fanout情况下,exchange会把消息发给所有知道的queue的

direct情况下,exchagne会把消息发给所有知道的queue中,但是会是使用routing_key作为分流器,routing_key与那个queue绑定就发给那个queue

持久化:

如果想让mqserver重启以后还能保持消息,就在生命queue的时候 置 durable=True  basic_public  property method=2

大概就写这么多 ,花了三分钟。

posted @ 2015-11-24 17:16  svolcano  阅读(142)  评论(0编辑  收藏  举报