1.原生rabbitMq例子(goldAxe)

  • 生产者: 带着routekey投消息到Exchange的叫消费者,生产者只认识Exchange的名字
  • 消费者:只知道队列名, 等待在一个队列上(指定要不要自动回复)
  • 队列:有个名字,以一个routeKey绑定到Exchange上,可以绑定多次
  • routekey:有2个,一个是生产者投递Exchange的时候用的, 一个是队列绑定到Exchange

↑可以看到, 生产者投Exchange, 消费者守着队列, 2者是解耦的

如果多个消费者 蹲守一个队列, 会轮流收到消息, 他们只有一个会收到消息
队列对同一个交换器也可以用不同的routekey,绑定多次

  • 连接Connection: 指定IP 端口 (默认5672) 和rabbitmq建立连接
  • 信道Channal:连接产生的多个信道, 和rabbitmq直接通过信道

原始API

一个最常见的消费者

上图↑ ,通过信道:
1.生成 交换器, 要指定 交换器名称 和 类型(direct/head,Fanout,Topic)

  1. 生成队列, 取名字, 以后用这个名字来指定这个队列

  2. 以一个routekey 把 队列 绑定到 交换器上

  3. 给队列 加一个消费者, 指明算自动收到了,rabbitmq不用等收到的回复

如果已经有这个交换器这个队列了 也不会报错

生产者

↑ 作为生产者, 只要用信道 指定routekey 向 交换器 投递信息即可

队列到交换器的绑定可以有多重

队列多重绑定到交换器↑


↑ 对线程, 每个线程对每个信道操作一模一样, 就是一个队列好几个消费者等着消费, 这样会轮流收到, 一次只有一个会收到

你可能感兴趣的:(1.原生rabbitMq例子(goldAxe))