rabbitmq的介绍

简介: rabbitMQ是一个开源的AMQP实现的消息队列中间件,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、C、 用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不错,与SpringAMQP完美的整合、API丰富易用。

公众号merlinsea


官网:http://www.rabbitmq.com/


   rabbitMQ是一个开源的AMQP实现的消息队列中间件,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、C、 用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不错,与SpringAMQP完美的整合、API丰富易用。


rabbitmq中的核心概念



Broker

       RabbitMQ的服务端程序,可以认为一个mq节点就是一个broker


Producer生产者

   创建消息Message,然后发布到RabbitMQ中


Consumer消费者

   消费队列里面的消息


Message 消息

   生产消费的内容,有消息头和消息体,也包括多个属性配置,比如routingKey路由键


Queue 队列

   是RabbitMQ 的内部对象,用于存储消息,消息都只能存储在队列中


Channel 信道

   一条支持多路复用的通道,独立的双向数据流通道,可以发布、订阅、接收消息。 信道是建立在真实的TCP连接内的虚拟连接,复用TCP连接的通道


Connection连接

   是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑,一个连接上可以有多个channel进行通信


Exchange 交换器

   生产者将消息发送到 Exchange,交换器将消息路由到一个或者多个队列中,里面有多个类型,后续再一一介绍,队列和交换机 是多对多的关系。


RoutingKey 路由键

   生产者将消息发给交换器的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则,最大长度255 字节


Binding 绑定

   通过绑定将交换器与队列关联起来,在绑定的时候一般会指定一个绑定键 ( BindingKey ),这样 RabbitMQ 就知道如何正确 地将消息路由到队列了。 生产者将消息发送给交换器时,会给一个RoutingKey,当BindingKey和 RoutingKey相匹配时,消息会被路由到对应的队列中


Virtual host 虚拟主机

   用于不同业务模块的逻辑隔离,一个Virtual Host里面可以有若干个Exchange和Queue,同一个VirtualHost 里面不能有 相同名称的Exchange或Queue。 rabbimq的虚拟主机默认是 /,可以自己创建/dev ,/text ,/pro


流程如下:

   生产者将携带有路由键的消息投递给交换机, 交换机根据路由键和绑定键匹配来将消息投递给队列, 消费者监听到队列有消息就取出消息执行业务。


640.jpg




相关实践学习
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
相关文章
|
11天前
|
消息中间件 大数据 Java
RabbitMQ
RabbitMQ
56 1
|
4月前
|
消息中间件 Java 中间件
一、RabbitMQ介绍
一、RabbitMQ介绍
44 0
|
7月前
|
消息中间件 存储 数据库
RabbitMQ特殊应用
RabbitMQ特殊应用
35 0
|
9月前
|
消息中间件 存储
RabbitMq
RabbitMq
67 0
|
10月前
|
消息中间件 存储 缓存
RabbitMQ到底为什么要使用它?
在多服务体系架构中,必然存在着多个服务之间的调用关系,当用户提交了订单,订单服务会调用支付服务执行用户的金钱操作,执行完毕之后紧接着调用商品服务对商家的商品信息(库存、成交量、收入等)进行更新,执行完毕之后又调用物流服务
|
11月前
|
消息中间件 存储 JSON
关于RabbitMQ
MQ是一种应用程序键一步通讯的技术,MQ是消息队列的缩写(Message Queue) 在MQ中,消息由一个应用程序发送到一个称为队列的中间件中,接着被中间件存储,并最终被另一个或多个消费者应用程序读取和处理; MQ组成:消息——生产者——队列——中间件——消费者!
55 0
|
11月前
|
消息中间件 网络协议 Java
RabbitMQ(1)
RabbitMQ(1)
|
11月前
|
消息中间件 存储 缓存
RabbitMQ中的SpringAMQP(上)
RabbitMQ中的SpringAMQP(上)
114 0
|
消息中间件 存储 NoSQL
RabbitMQ(二)
RabbitMQ(二)
219 0
RabbitMQ(二)
|
消息中间件 存储 缓存
RabbitMQ(三)
RabbitMQ(三)
164 0
RabbitMQ(三)

相关实验场景

更多