社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
让我们从RabbitMQ官网的一段话开始:
RabbitMQ is the most widely deployed open source message broker.
简言之,RabbitMQ是开源的消息队列。将A君的消息,发送给B君,不过这里的B君,不单指某一个具体的实例,可能是一群实例
这篇文章来讲一讲RabbitMQ的几个核心概念
我们先看看几个核心概念的关系,如下图:
从上图中可以看到:
下面详细讲解每个概念
首先来看看Producer(生产者),顾名思义,生产消息的实例。需要注意的是:在代码实现上,并没有Producer和Consumer抽象概念。Producer是指调用RabbitMQ API发送消息的实例,Consumer是指调用RabbitMQ API接收消息的实例,仅仅是为了方便描述,或者可以说成,仅仅是逻辑上的概念
Producer、Message、Exchange三者之间的关系如下图
即:
其次要讲的是Message,Message Broker当然离不开Message,没了Message,那就不是Message Broker了,只能是其他的什么Broker。Message有多种格式,比如:
Exchange就是一个交易所,会有很多的Message进入到Exchange中,Exchange根据Binding key(或者叫Routing key)将Message分发到不同的Queue中
RabbitMQ中的Exchange有多种类型,类型不同,Message的分发机制不同,如下:
Queue,队列,消息暂时存放的地方
Consumer,消费者,接收消息的实例
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!