- 生产者: 带着routekey投消息到Exchange的叫消费者,生产者只认识Exchange的名字
- 消费者:只知道队列名, 等待在一个队列上(指定要不要自动回复)
- 队列:有个名字,以一个routeKey绑定到Exchange上,可以绑定多次
- routekey:有2个,一个是生产者投递Exchange的时候用的, 一个是队列绑定到Exchange
↑可以看到, 生产者投Exchange, 消费者守着队列, 2者是解耦的
如果多个消费者 蹲守一个队列, 会轮流收到消息, 他们只有一个会收到消息
队列对同一个交换器也可以用不同的routekey,绑定多次
- 连接Connection: 指定IP 端口 (默认5672) 和rabbitmq建立连接
- 信道Channal:连接产生的多个信道, 和rabbitmq直接通过信道
原始API
一个最常见的消费者上图↑ ,通过信道:
1.生成 交换器, 要指定 交换器名称 和 类型(direct/head,Fanout,Topic)
-
生成队列, 取名字, 以后用这个名字来指定这个队列
-
以一个routekey 把 队列 绑定到 交换器上
-
给队列 加一个消费者, 指明算自动收到了,rabbitmq不用等
收到
的回复
↑ 作为生产者, 只要用信道 指定routekey 向 交换器 投递信息即可
队列到交换器的绑定可以有多重队列多重绑定到交换器↑
↑ 对线程, 每个线程对每个信道操作一模一样, 就是一个队列好几个消费者等着消费, 这样会轮流收到, 一次只有一个会收到
网友评论