RabbitMQ
的安装RabbitMQ
在Linux
服务器下的安装提供了详细的指导,按照它可以完成RabbitMQ
在Linux
服务器下的安装。RabbitMQ超详细安装教程(Linux)_Baret-H的博客-CSDN博客_linux安装rabbitmq教程
RabbitMQ安装 - 地鼠文档 (topgoer.cn)
(1)开放对应的端口。
RabbitMQ Web
界面管理的端口是15672
,对外提供服务端口的是5672
,需要在安全组开放这两个端口。Virtual Host
(VHost
)(1)虚拟主机,相当于虚拟机,用于隔离数据。服务通过URL连接的是一个VHost
,交换机、信道、队列等的创建均在一个VHost
上。
(2)VHost
可以通过Web
管理页面创建。
(1)在RbMQ
中,生产者和消费者的概念是相对于消息而言的。生产者生成消息,消费者处理消息,而RbMQ
是充当信使的角色,在两者之间建立起桥梁,使生产者、消费者应用解耦。
(1)队列是RbMQ
内部对象,用于存储消息。在RbMQ
中消息最终是存储在队列中的,消费者通过订阅队列的方式获取需要处理的消息并消费。
(2)同一个队列可以被多个消费者订阅,这时队列中的消息通过轮询(一条消息只能分发到一个消费者,多个平均分摊队列中的消息)的方式分发给多个消费者处理。
(3)RbMQ
不提倡在队列的层面实现消息的广播(即一条消息分发到全部订阅队列的消费者),广播消息推荐使用交换器。
(1)交换器将生产者的消息投递到与之绑定的队列中。即队列与交换机的关系是一个或多个队列绑定到交换器上,生产者将消息投递到交换器中,交换器根据一定的策略分发消息到队列中,在由与队列绑定的消费者消费处理。
(2)交换器分发消息的策略主要由绑定键、交换器的类型、路由键决定的。
绑定键是队列与交换器绑定时指定的值。路由键是生产者将消息发送到交换器时指定的值。交换器的类型主要有fanout
、direct
、topic
、headers
四种。
1)fanout
:扇出类型,交换器将所有接收到的消息分发到与之绑定的队列中,从而可以实现广播通信。
2)direct
:直接等类型,交换器将消息发送到绑定键与消息的路由键相等的队列中。
3)topic
:主题类型(匹配符模式),topic
类型与direct
类型相似,不过topic
类型采用的时类似正则匹配的方式分发消息。其中.
代表一个独立的字符串(单次),*
用于匹配一个单词,#
用于匹配零个或多个单词。
4)headers
:headers
模式不根据消息的路由键分发消息,而是根据发送消息中headers
的属性进行匹配。在绑定队列和交换器是制定一组键值对,当消息发送到交换器时,RbMQ
会获取消息的headers
(一个键值对),对比其中的键值对是否完全匹配绑定时制定的键值对,从而决定消息的分发。headers
类型的交换器性能很差,基本不定义该类型的交换器。
(3)消息的分发过程