(资料图)
TOC
MQ(Message Queue)用于在应用程序之间相互通信,在消息中发送数据进行通信,而不需要特意建立连接传输数据。与之对应的另一种通信方式是远程直接调用(RPC),需要先建立通信连接然后传递数据。
RabbitMQ是一个开源的消息队列系统,使用Erlang语言编写的,基于AMQP协议的。AMQP全程是Advanced Message Queuing Protocol,即高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。具有面向信息、队列、路由(包括点对点和发布/订阅)、可靠性、安全等特征。
RabbitMQ的架构图如下所示:下面介绍一下其中的主要概念:
Producer
:消息生产者,就是投递消息的程序。Connection
:AMQP客户端到broker的TCP连接。Channal
:在connection内部建立的逻辑练级,这样一个connection能够承载多个访问;Broker
:消息队列服务器实体。Virtual Host
:虚拟主机,在多个用户使用同一个RabbitMQ服务器的时候,用于进行逻辑隔离,Exchange
:消息交换机,它指定消息中的routing key按什么规则,路由到哪个队列。主要的分配类型包括:Queue
:数据队列,消息的载体,每个消息都会被投入到一个或多个队列。binding
:是exchange和queue之间的虚拟连接,包含routing key。RaybbiMQ具有如下特点:
Q: 为什么选择使用RabbitMQ?A:因为RabbitMQ具有解耦、异步、削峰的优点,维护消息队列,提高传输的可靠性和读写异步。
X 关闭
Copyright © 2015-2022 大众制鞋网版权所有 备案号:豫ICP备20014643号-14 联系邮箱: 905 14 41 07@qq.com