文档章节

Rabbit MQ基本概念介绍

寰宇01
 寰宇01
发布于 2018/10/20 23:18
字数 512
阅读 23
收藏 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
粉丝 10
博文 288
码字总数 748006
作品 0
南京
程序员
私信 提问
并发请求rabbitmq之后增加的channel显示no customers

spring和rabbitmq结合,rabbitmq有个channel的缓存,默认好像是25,生产者和消费者都配好后默认会创建一个channel,在并发以后又会自动增加channel,但是这些增加的channel都显示no customer...

malie0
2017/05/16
116
1
深入解读RabbitMQ工作原理及简单使用

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

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

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

itcloud
2018/08/28
0
0
java使用rabbitmq在本地项目运行能接收到消息,但是部署到Linux就不能接收到消息

引用的Jar包是 org.springframework.amqp spring-rabbit 1.3.5.RELEASE rabbitmq集成spring代码如下:(就是在Linux不能正常收到消息,请各位大神指点) 实现类代码如下: /** * This file ...

java软件开发疯子
2017/10/23
399
2
RabbitMQ学习系列 : RabbitMQ安装与配置

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

andrewniu
2018/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB

关于MongoDb 1、MongoDB是一个开源的、基于分布式的、面向文档存储的非关系型数据库。 2、是非关系型数据库当中功能最丰富、最像关系数据库的。 3、由C++编写, MongoDB可以运行在Windows、u...

谢思华
6分钟前
0
0
Node.js 进程平滑离场剖析

本文由云+社区发表 作者:草小灰 使用 Node.js 搭建 HTTP Server 已是司空见惯的事。在生产环境中,Node 进程平滑重启直接关系到服务的可靠性,它的重要性不容我们忽视。既然是平滑重启,就涉...

腾讯云加社区
14分钟前
0
0
druid等 olap框架对比分析

简介 Druid 是一个开源的,分布式的,列存储的,适用于实时数据分析的存储系统,能够快速聚合、灵活过滤、毫秒级查询、和低延迟数据导入。 Druid在设计时充分考虑到了高可用性,各种节点挂掉...

hblt-j
14分钟前
0
0
Idea 禁用代码重复等警告

在相应方法上添加注解 @SuppressWarnings("action") @Transactional@SuppressWarnings("Duplicates")public void analyzeDpBook(DpBook dpBook) { EpubBook _epubBook = epubBookSe......

lemos
17分钟前
0
0
MaxCompute studio与权限那些事儿

背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全。用户在使用MaxCompute时,应理解权限的一些基本概念: 权限可分解为三要素,即主体(用户账号或角色),客体(表/...

阿里云官方博客
18分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部