一 .整体的架构图
从整体上看,Rabbitmq就是一个生产者消费者模型,我们称中间的容器为broker.现在我们不去管broker的结构.
整个运作的过程就是生产者生产一个消息,然后通过broker发送给一个消费者.
二 .基础概念
[1]生产者
生产者就是消息的投递一方.
[2]消息
在rabbitmq之中消息可以分成两个部分,一个是消息的标签,另外一个就是payload(消息体部分).
其中消息标签页可以称为消息的头,其中包含了一些关键的信息,比如将消息投递到哪一个交换机之中,其中的路由键是什么,另外还可以附加一些特殊的属性值.
payload就是消息体,消息的生产者和消费者主要交互的数据都存在在这里,另外需要说明的就是这个内容是一个接口,只要双方都遵守就可以.
[3]消费者
就是消息的接收方,在消息的路由过程之中,消息的标签会不断的丢失,最终消费者需要的只是消息的payload.
[4]broker
我们一般称为Rabbitmq的服务实例.
整个使用的过程如上图,就是一个生产者消费者的模型.
[5]队列
队列是rabbitmq之中存储消息的地点.它具有下面的特点:
[1]队列可以拥有多个消费者,但是消费的数据是队列轮询提供,保证消息不被重复消费.
[2]存储在队列的消息可以被持久化,保证消息不丢失.
[6]交换机
生产者将消息直接发送到交换机之中,而每一个交换机可以与多个队列绑定.
消息之中的路由键决定消息到底会被发送到哪一个队列之中.
交换机和队列的关系的描述是由绑定键决定的.
交换机拥有不同的类型,不同类型的交换机也具有不同的特性.