RabbitMQ(二):四大核心概念

122 阅读2分钟

介绍

RabbitMQ,2007年发布,是一个AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一

RabbitMQ功能比较完备、健壮、稳定、易用、并且跨平台,支持语言如python、ruby、.net、java、jms、c、php、ajax,并且文档齐全,提供了开源的管理界面,很高的社区活跃度,更新频率相当高

四大核心概念

  1. 生产者:发送消息到的RabbitMQ客户端为生产者
  2. 交换机(与队列一对多):是RabbitMQ非常重要的一个部件,用于接收来自生产者的消息,并且也需要将消息推送到队列中,交换机必须确切的知道如何处理接收到的消息,是将这些消息推送到指定队列还是多个队列,或是将消息丢弃都由交换机类型觉得
  3. 队列(与消费者一对一):是RabbitMQ中存储消息数据结构,生产者生产的消息最终会存放在队列中,消费者消费消息需要从队列中获取
  4. 消费者:并且并且消费队列中的消息为消费者

名词解释

一张图

RabbitMQ_test.webp

  1. Broker:接受和分发消息的应用(MQ服务器、消息实体)
  2. Exchange:交换机
  3. Queue:队列
  4. Producer:生产者
  5. Consumer:消费者
  6. Channel:信道,发消息的通道,是每一个连接里内部建立的多个逻辑连接,每次发消息只占用一个信道,多路复用
  7. Connection:publisher/consumer和broker之间的TCP连接,因为建立Connection开销大,所以只建立一个
  8. Binding:Exchange和Queue之间的连线
  9. Virtual host:(在broker里可以有多个vhost)MQ的一个库,出于多租户和安全因素设计的,将AMQP的基本组件划分到一个虚拟的分组中,类似网络中的namespace概念;当不同用户使用同一个RabbitMQ server 提供的服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等