RabbitMQ的几个概念

  • VHost:虚拟主机,不同的VHost之间完全隔离,互不干扰。类似我们使用VM创建的多个虚拟机。创建好VHost之后需要我们指定其所有者。创建方式:RabbitMQ管理控制台 - Admin → VirtualHost → Add a new virtual host
  • Exchange:交换机,生产者将消息发送到Exchange,由Exchange将消息路由到一个或多个队列中(或者丢弃)。我们在创建Exchange时需要根据业务需求设置对应的参数,比如Exchange的Type(topic fanout direct headers)、Durability(持久化)等
  • Queue:队列,是RabbitMQ的内部对象,用于存储消息。在创建队列时需要设置其所属的VHost,也要根据需求设置它的Durability(持久化)属性。
  • Binding:绑定,通过Binding将Exchange与Queue关联起来,这样RabbitMQ就知道如何正确地将消息路由到指定的Queue了。
  • RouteKey:Exchange与Queue关联的标识,在绑定Exchange与Queue的同时,一般会指定一个binding key;消费者将消息发送给Exchange时,一般会指定一个routing key;RabbitMQ会根据Exchange的不同Type对binding key与routing key进行匹配,当他们匹配上时,消息将会被路由到对应的Queue中。在绑定多个Queue到同一个Exchange的时候,这些Binding允许使用相同的binding key。binding key 并不是在所有情况下都生效,它依赖于Exchange Type,比如fanout类型的Exchange就会无视binding key,而是将消息路由到所有绑定到该Exchange的Queue。
  • Producer:消息生产者,就是发送消息的程序。
  • Consumer:消息消费者,就是接收消息的程序。
原文地址:https://www.cnblogs.com/qidakang/p/7837955.html