产品定义 本节介绍了分布式消息服务RabbitMQ的定义和主要产品优势。 分布式消息服务RabbitMQ是基于高可用、分布式集群技术,完全兼容RabbitMQ开源社区,支持消息路由、事务消息、优先级队列、延迟队列、死信队列、镜像队列等功能的消息云服务。用户可开箱即用,无需部署免运维,从而实现快速上云。 产品示意图 分布式消息服务RabbitMQ发布订阅基本流程如下: 1、生产者生产的消息,通过TCP连接的信道首先发布到指定的交换机上; 2、交换机通过路由键(RoutingKey)的匹配,选择对应的队列进行投递; 3、消费者订阅队列,消费队列的消息。 核心概念 对照产品示意图,分布式消息服务RabbitMQ的核心概念如下: Producer:消息生产者,即消息的发布方, 生产者生产的消息,首先发布到指定的交换机上,交换机通过路由键(RoutingKey)的匹配,选择对应的队列进行投递。消费者订阅队列,消费队列的消息。 Connection:客户端与Broker间的TCP连接。 Channel:信道,每个连接采用多路复用,包含多个信道。producer与Broker间采用信道传递数据。 Broker:RabbitMQ服务节点,集群由多个节点组成。 Vhost:虚拟机,一个节点下包含多个vhost,vhost间的exchange,queue相互隔离。就好比一台物理机上(Broker)部署多台虚拟机(vhost),虚拟机采用不同的用户名密码登录,实现多租户。 Exchange:交换机,消息首先会传递到交换机,由交换机匹配路由键(RoutingKey)决定投递到哪个queue。 Queue:队列,存储消息的数据结构。类比小区的快递柜。 Binding:绑定,交换机与队列间通过路由键(RoutingKey)进行绑定起来。 Consumer,消费者,即消息的接受方。 更多信息请参见名词解释。