文档章节

Rabbit MQ基本概念介绍

寰宇01
 寰宇01
发布于 10/20 23:18
字数 512
阅读 20
收藏 0

RabbitMQ介绍

• RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。

• ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。

• Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。一个connection可以创建多个channel也就是信道,这些信道相互不影响,就像是一条光缆和一根光纤的关系;

• Queue  : 存放消息的队列,先入先出,关注队列的消费者从队列中取出消息消费,如果多个消费者同时订阅同一个队列,那么消息会平均分配到多个消费者

• Message acknowledgment(消息确认)

• 为了避免消费者收到Queue中的消息,但没有处理完成就宕机(或出现其他意外)的情况,这种情况下就可能会导致消息丢失情况发生,可以要求消费者在消费完消息后发送一个回执给RabbitMQ,RabbitMQ收到消息回执(Message acknowledgment)后才将该消息从Queue中移除;如果RabbitMQ没有收到回执并检测到消费者的RabbitMQ连接断开,则RabbitMQ会将该消息发送给其他消费者(如果存在多个消费者)进行处理。这里不存在timeout概念,一个消费者处理消息时间再长也不会导致该消息被发送给其他消费者,除非它的RabbitMQ连接断开。

• 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考链接  :

https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQ

 

 

 

 

来源  :JAVA烂猪皮

https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQhttps://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQ

本文转载自:https://mp.weixin.qq.com/s/nWdgS821qR-GhJTPllJkEQ

共有 人打赏支持
寰宇01
粉丝 7
博文 276
码字总数 690234
作品 0
南京
程序员
私信 提问
深入解读RabbitMQ工作原理及简单使用

深入解读RabbitMQ工作原理及简单使用 RabbitMQ系列目录 RabbitMQ在Ubuntu上的环境搭建 深入解读RabbitMQ工作原理及简单使用 Rabbit的几种工作模式介绍与实践 Rabbit事务与消息确认 Rabbit集群...

王磊的博客
07/06
0
0
(十七) 整合spring cloud云架构 -消息驱动 Spring Cloud Stream

在使用spring cloud云架构的时候,我们不得不使用Spring cloud Stream,因为消息中间件的使用在项目中无处不在,我们公司后面做了娱乐方面的APP,在使用spring cloud做架构的时候,其中消息的...

itcloud
08/28
0
0
RabbitMQ学习系列 : RabbitMQ安装与配置

1.安装     Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装RabbitMQ之前要先安装Erlang。     erlang:http://www.erlang.org/download.html     rabbitmq:http://www....

andrewniu
05/09
0
0
RabbitMQ学习之spring配置文件rabbit标签的使用

下面我们通过一个实例看一下rabbit的使用。 1.实现一个消息监听器ReceiveMessageListener.java [java] view plain copy package org.springframework.amqp.core; /** * Listener interface ......

onedotdot
05/12
0
0
安装 php-rabbit: RabbitMQ 的 PHP 扩展

RabbitMQ 官方提供了三种 PHP 可用的扩展,分别是: php-amqp http://code.google.com/p/php-amqp/ php-rabbit http://code.google.com/p/php-rabbit/ php-amqplib http://code.google.com/p......

mac_zhao
2014/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 10 设置 Java 环境变量

首先你需要在我的电脑中打开,找到环境变量属性。 找到环境变量属性 找到环境变量属性后单击将会看到下面的设置界面。 在这个界面中设置高级系统设置。 环境变量 在弹出的界面中选择设置环境...

honeymose
今天
2
0
用any-loader封装jQuery的XHR —— 随便写着玩系列

哎,都说没人用JQuery啦,叫你别写这个。 其实我也是好高骛远使用过npm上某个和某个很出名的XHR库,嗯,认识我的人都知道我喜欢喷JQ,以前天天喷,见面第一句,你还用JQ,赶紧丢了吧。但我也...

曾建凯
今天
8
0
聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
今天
4
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
5
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部