RabbitMQ的架构设计

简介: RabbitMQ的架构设计


Broker:rabbitmq 的服务节点


Queue:队列,是RabbitMQ的内部对象,用来存储信息。RabbitMQ消息只能存储在队列中。生产者投递消息到队列,消费者从队列中获取消息并消费。多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮询)给多个消费者进行消费,而不是每个消费者都收到所有的消息进行消费。(注意:RabbitMQ不支持队列层面的广播消费,如果需要广播消费,可以采用一个交换器通过路由Key 绑定多个队列,由多个消费者来订阅这些队列的方式。)


Exchange:交换器。生产者将消息发送到Exchange,由交换器将消息路由到一个或多个队列中。如果路由不到,或返回给生产者,或直接丢弃,或做其他处理。


RoutingKey:路由Key。生产者将消息发送给交换器的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则。这个路由Key需要与交换器类型和绑定键(BindingKey)联合使用才能最终生效。在交换器类型和绑定键固定的情况下,生产者可以在发送消息给交换器时通过指定RoutingKey来决定消息流向哪里。


Binding:通过绑定将交换器和队列关联起来,在绑定的时候一般会指定一个绑定键,这样RabbitMQ就可以指定如何正确的路由到队列了。交换器和队列实际上是多对多关系。就像关系数据库中的两张表。他们通过BindingKey做关联(多对多关系表)。投递消息时,可以通过Exchange和RoutingKey(对应BindingKey)就可以找到相对应的队列。


信道:信道是建立在Connection之上的虚拟连接。当应用程序与Rabbit Broker 建立TCP连接的时候,客户端紧接着可以创建一个AMQP信道(Channel),每个信道都会被指派一个唯一的ID。RabbitMQ处理的每条AMQP指令都是通过信道完成的。信道就像电缆里的光纤束。一条电缆内含有许多光纤束,允许所有的连接通过多条光线束进行传输和接收。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
3月前
|
消息中间件 存储 网络协议
MQ - 09 RabbitMQ的架构设计与实现
MQ - 09 RabbitMQ的架构设计与实现
64 0
|
7月前
|
消息中间件 存储 监控
RocketMQ 的基本概念、架构设计、特点以及适用场景
RocketMQ 的基本概念、架构设计、特点以及适用场景
512 0
RocketMQ 的基本概念、架构设计、特点以及适用场景
|
消息中间件 存储 负载均衡
RocketMQ 整体架构设计
RocketMQ 整体架构设计
105 0
|
消息中间件 RocketMQ
RocketMQ核心架构设计思想(下)
RocketMQ核心架构设计思想(下)
103 0
RocketMQ核心架构设计思想(下)
|
消息中间件 负载均衡 RocketMQ
RocketMQ核心架构设计思想(中)
RocketMQ核心架构设计思想(中)
106 0
RocketMQ核心架构设计思想(中)
|
消息中间件 负载均衡 RocketMQ
RocketMQ核心架构设计思想(上)
RocketMQ核心架构设计思想(上)
163 0
RocketMQ核心架构设计思想(上)
|
消息中间件 存储 缓存
RocketMQ 架构设计和设计原理
RocketMQ 架构设计和设计原理
587 0
RocketMQ 架构设计和设计原理
|
消息中间件 JavaScript Java
分布式消息系列:详解RocketMQ的简介与演进、架构设计、关键特性与应用场景
终身学习是程序员的必备能力,一群人在一起走得更远,一起学习,共抗惰性。今天,我们来重点了解RocketMQ的简介与演进、架构设计、关键特性及应用场景等内容。*
3097 0
|
存储 消息中间件 Android开发
《RocketMQ技术内幕:RocketMQ架构设计与实现原理》—1.1.2 Eclipse调试RocketMQ源码
本节书摘来自华章计算机《RocketMQ技术内幕:RocketMQ架构设计与实现原理》一书中的第1章,丁威 周继峰 著。更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2212 0
|
消息中间件 Java Apache
《RocketMQ技术内幕:RocketMQ架构设计与实现原理》—1.1.1 Eclipse获取RocketMQ源码
本节书摘来自华章计算机《RocketMQ技术内幕:RocketMQ架构设计与实现原理》一书中的第1章,丁威 周继峰 著。更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2796 0

热门文章

最新文章