理解MQ】的更多相关文章

1.定义 2.消息队列比较 参考文章:https://www.jianshu.com/p/068b8d1610ee…
1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我们可以称为即时消息:即消息从一端发出后(消息发送者)立即就可以达到另一端(消息接收者),这种方式的具体实现就是平时最常见的IM聊天消息: 2)另一种称为延迟消息:即消息从某端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端. 在上述“消息传递方式2)”中所指的这个容器…
MQ的几种消息传递方式 发布订阅模式 发布订阅模式有点类似于我们日常生活中订阅报纸.每年到年尾的时候,邮局就会发一本报纸集合让我们来选择订阅哪一个.在这个表里头列了所有出版发行的报纸,那么对于我们每一个订阅者来说,我们可以选择一份或者多份报纸.比如北京日报.潇湘晨报等.那么这些个我们订阅的报纸,就相当于发布订阅模式里的topic.有很多个人订阅报纸,也有人可能和我订阅了相同的报纸.那么,在这里,相当于我们在同一个topic里注册了.对于一份报纸发行方来说,它和所有的订阅者就构成了一个1对多的关系…
MQ的深入理解 MQ的作用: 解耦合,降低系统与系统之间的频繁改动 MQ的特点: 复杂的系统解耦合 (主系统将数据放入mq,子系统需要的时候直接从mq中取出数据)复杂链路的异步调用(将必要的链路执行完,非必要的放入MQ,再从mq中取出来执行. 保证系统的高效运行)顺势高峰的削峰处理 (系统在某天的某个时间段请求很多,我们可以放入mq,以每秒1000的请求执行,减少服务器的使用) MQ的问题: 系统调用MQ失败网络故障消息丢失 或者 消息重复发送 幂等性: 在编程中一个幂等操作的特点是其任意多次执…
RabbitMQ基本理解 MQ是消息中间件,常见的有RabbitMQ,Kafka,RocketMQ,activeMQ 等,用于分布式系统中.作用有三点 解耦 异步 削峰 RabbitMQ 整体上是一个生产者,消费者模型,主要负责接收,存储和转发消息. 生产者生产消息将消息发送给路由,路由根据路由规则匹配将消息写入到队列中,然后消费者订阅并进行消息的消费.  二.RabbitMQ的几种工作模式         …
说明:想要理解RabbitMQ,需要先理解MQ是什么?能做什么?然后根据基础知识去理解RabbitMQ是什么.提供了什么功能. 一.MQ的简单理解 1. 什么是MQ? 消息队列(Message Queue),是基础数据结构中 "先进先出" 的一种数据结构. 一般用来解决应用解耦.异步消息.流量削峰等问题,实现高性能.高可用.可伸缩和最终一致性架构. 2.MQ是怎么实现消息传递的? 生产者产生消息并把传输的数据(消息)放在队列中,用队列机制来实现消息传递. 消费者可以到指定的队列拉取消息…
这是<吃透XXX>技术系列的开篇,这个系列的思路是:先找到每个技术栈最本质的东西,然后以此为出发点,逐渐延伸出其他核心知识.所以,整个系列侧重于思考力的训练,不仅仅是讲清楚 What,而是更关注 Why 和 How,以帮助大家构建出牢固的知识体系. 回到正文,这是<吃透 MQ>的第一篇文章.本文主要讲解 MQ 的通用知识,让大家先弄明白:如果让你来设计一个 MQ,该如何下手?需要考虑哪些问题?又有哪些技术挑战? 有了这个基础后,我相信后面几篇文章再讲 Kafka 和 RocketM…
本文主要讲解 MQ 的通用知识,让大家先弄明白:如果让你来设计一个 MQ,该如何下手?需要考虑哪些问题?又有哪些技术挑战? 有了这个基础后,我相信后面几篇文章再讲 Kafka 和 RocketMQ 这两种具体的消息中间件时,大家能很快地抓住主脉络,同时分辨出它们各自的特点. 对于 MQ 来说,不管是 RocketMQ.Kafka 还是其他消息队列,它们的本质都是:一发一存一消费.下面我们以这个本质作为根,一起由浅入深地聊聊 MQ. 01 从 MQ 的本质说起 将 MQ 掰开了揉碎了来看,都是「一…
引子 下一篇标题是<深入理解MQ生产端的底层通信过程>,建议文章读完之前.或者读完之后,再读一遍我之前写的<RabbitMQ设计原理解析>,结合理解一下. 我大学时流行过一个韩剧<大长今>,大女主长今是个女厨.她升级打怪的过程中,中国明朝来了个官员,是个吃货.那时候大明八方来朝,威风凛凛.那小朝鲜国可不敢怠慢,理论上应该大鱼大肉.人家长今凭借女主光环,给官员上了一桌素餐.官员勃然大怒,要把长今拉去砍头.长今解释说:官员脾胃失和,不适合大鱼大肉,让官员给她一段时间,天天吃…
在<深入理解Java类加载机制,再也不用死记硬背了>里我提到了对于一门语言的"会"的三个层次.本篇将以知识地图的形式展现学习消息中间件MQ各个层次要掌握的内容. 知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系.所以本篇重点不是介绍某个知识点,而是介绍掌握消息中间件,需要看哪些文章的导航. 消息中间件MQ会的三个层次与黄金圈法则相对应. What层:hello world 级别 What层:hello world 级别,知道它能做什么.在<Rabbi…