阿里力推双Q:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试,你知道多少?
先来谈谈RabbitMQ
附面试思维导图:
不多说,上一份我手绘的RabbitMQ思维脑图,先来总体的梳理一下各知识点
手绘的RabbitMQ思维脑图
额,这个手绘电子版的RabbitMQ知识大纲,有点不太好展示,截图可以看见里面的内容比较多,可能看不清楚,等下后面会细说一下
说到RabbitMQ,其实它已是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用,并且RabbitMQ有以下4大优点:
- 高可靠
- 易扩展
- 高可用
- 及丰富的功能特性
因此,RabbitMQ受到越来越多企业的青睐,而作为为一个合格的开发者,我们十分有必要深入的去学习其相关的知识,为自己的程序员生涯添砖加瓦一下。先来慢慢梳理一下知识点,然后再分享下RabbitMQ的学习指南和有关面试的问题。
事先申明:全文谈论RabbitMQ与RocketMQ,涉及的电子版手绘脑图+学习指南+面试问题(附答案)。
1.1 RabbitMQ知识点梳理
- 消息发布接收流程
消息发布接收流程
- 消息确认
消息确认
- 死信队列(dlx)
死信队列(dlx)
- MQ组件&架构设计
MQ组件&架构设计
- 工作模式
工作模式
- 可靠消息投递解决方案
可靠消息投递解决方案
1.2 RabbitMQ学习指南——《RabbitMQ实战指南》
《RabbitMQ实战指南》总共有11章的内容、352页,前后章节都有相关的联系,基本上按照由浅入深、由表及里的层次逐层进行讲解。
- 第1章 RabbitMQ简介
主要针对消息中间件做一个摘要性介绍,包括什么是消息中间件、消息中间件的作用及特点等。之后引入 RabbitMQ,对其历史和相关特点做一个简要概述
- 1.1 什么是消息中间件
- 1.2 消息中间件的作用
- 1.3 RabbitMQ的起源
- 1.4 RabbitMQ的安装及简单使用
第1章 RabbitMQ简介
- 第2章 RabbitMQ入门
讲述RabbitM 的入门知识,包括生产者、消费者、队列、交换器、路由键、绑定、连接及信道等基本术语,还阐述了RabbitM AMQP 协议的对应关系
- 2.1 相关概念介绍
- 2.2 AMQP协议介绍
- 第3章 客户端开发向导
介绍RabbitMQ客户端开发的简单使用,按照 个生命周期对连接、创建、生产、消费及关闭等几个方面进行宏观的介绍
- 3.1 连接RabbitMQ
- 3.2 使用交换器和队列
- 3.3 发送消息
- 3.4 消费消息
- 3.5 消费端的确认与拒绝
- 3.6 关闭连接
第3章 客户端开发向导
- 第4章 RabbitMQ进阶
介绍数据可靠性的 些细节,井展示 RabbitM 的几种己具备或衍生的高级特性,包括πL、死信队列、延迟队列、优先级队列、 RPC 等,这些功能在实际使用中可以让某些应用的实现变得事半功倍。
- 4.1 消息何去何从
- 4.2 过期时间(TTL)
- 4.3 死信队列
- 4.4 延迟队列
- 4.5 优先级队列
- 4.6 RPC实现
- 4.7 持久化
- 4.8 生产者确认
- 4.9 消费端要点介绍
- 4.10 消息传输保障
第4章 RabbitMQ进阶
- 第5章 RabbitMQ管理
主要围绕 RabbitMQ管理这个主题展开,包括多租户、权限、用户、应用和集群管理、服务端状态等方面,井且从侧面讲述 rabbitmqctl 工具和 rabbitmq_management 插件的使用
- 5.1 多租户与权限
- 5.2 用户管理
- 5.3 Web端管理
- 5.4 应用与集群管理
- 5.5 服务端状态
- 5.6 HTTPAPI接口管理
第5章 RabbitMQ管理
- 第6章 RabbitMQ配置
讲述RabbitMQ的配置,以此可以通过环境变量、配置文件、运行时参数(和策略)等三种方式来定制化相应的服务
- 6.1 环境变量
- 6.2 配置文件
- 6.3 参数及策略
- 第7章 RabbitMQ运维
围绕运维层面展开论述,主要包括集群搭建、日志查看、故障恢复、集群迁移、集群监控这几个方面。
- 7.1 集群搭建
- 7.2 查看服务日志
- 7.3 单节点故障恢复
- 7.4 集群迁移
- 7.5 集群监控
第7章 RabbitMQ运维
- 第8章 跨越集群的界限
讲述 Federation Shovel 这两个插件的使用、细节及相关原理 区别于第7章中集群的部署方式, Federation Shovel 可以部署在广域网中,为Rabb tlQ 提供更广泛的应用空间。
- 8.1 Federation
- 8.2 Shovel
- 第9章 RabbitMQ高阶
介绍 RabbitMQ相关的一些原理,主要内容包括RabbitM 存储机制、磁盘和内存告警、流控机制、镜像队列。了解这些实现的细节及原理十分必要,它们可以让读者在遇到问题时能够透过现象看本质
- 9.1 存储机制
- 9.2 内存及磁盘告警
- 9.3 流控
- 9.4 镜像队列
第9章 RabbitMQ高阶
- 第10章 网络分区
围绕网络分区进行展开,具体阐述网络分区的意义,如何查看和处理网络分区,以及网络分区所带来的影响。
- 10.1 网络分区的意义
- 10.2 网络分区的判定
- 10.3 网络分区的模拟
- 10.4 网络分区的影响
- 10.5 手动处理网络分区
- 10.6 自动处理网络分区
- 10.7 案例:多分区情形
第10章 网络分区
- 第11章 RabbitMQ扩展
- 11.1 消息追踪
- 11.2 负载均衡
再说说RocketMQ
RocketMQ 是阿里巴巴集团基于高可用分布式集群技术,自主研发的云正式商用的专业消息中间件。既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双 11 使用的核心产品。下面是一份RocketMQ的手绘思维脑图,梳理一下知识。
RocketMQ手绘思维脑图
2.1 RocketMQ的学习指南——《手写RocketMQ笔记》
《手写RocketMQ笔记》的内容偏多,上份总目录一览大致内容:RocketMQ介绍、RocketMq中消息的发送、RocketMQ消息消费、深入消息发送、深入消息模式、顺序消息、延时消息、死信队列、消费幂等、消息过滤、RocketMQ存储概要设计、RocketMQ中的事务消息、RocketMQ主从同步(HA)机制、限时订单实战、RocketMQ源码分析
手写RocketMQ笔记-目录详情
手写RocketMQ笔记-目录详情
- 内容详情
手写RocketMQ笔记-内容详情
手写RocketMQ笔记-内容详情
手写RocketMQ笔记-内容详情
最后奉上21道消息中间件相关的面试真题(附答案)
- activemq 有哪几种通信方式?
- activemq 如果数据提交不成功怎么办(消息丢失)?
- 如何解决消息重复问题?
- 大量的消息每页被消费,能否发生 oom 异常?
- activeMQ 发送消息的方式有哪些?
- activeMQ 如何调优?
- 什么是死信队列?
- Basic.Reject 的用法是什么?
- 为什么不应该对所有的 message 都使用持久化机制?
- 为什么 heavy RPC 的使用场景下不建议采用 disk node ?
- 向不存在的 exchange 发 publish 消息会发生什么?向不存在的queue 执行 consume 动作会发生什么?
- 什么情况下 producer 不主动创建 queue 是安全的?
- “dead letter”queue 的用途?
- 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
- RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
- RabbitMQ 概念里的 channel、exchange 和 queue 这些东东是逻辑概念,还是对应着进程实体?这些东东分别起什么作用?
- 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
- cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
- 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
- Consumer Cancellation Notification 机制用于什么场景?
- RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?
答案解析如下:
答案解析-部分
答案解析-部分
答案解析-部分
最后我想说
为了方便,小编已将这些[手绘RabbitMQ思维脑图]、[RabbitMQ实战指南]、[手绘RocketMQ思维脑图]、[手写RocketMQ笔记]、[消息中间件面试相关问题(附答案)]全部整理成了以下的文件。
阿里力推双Q:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试,你知道多少?相关推荐
- 双Q合璧:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试等,全在这儿了!
先来谈谈RabbitMQ 不多说,上一份我手绘的RabbitMQ思维脑图,先来总体的梳理一下各知识点 额,这个手绘电子版的RabbitMQ知识大纲,有点不太好展示,截图可以看见里面的内容比较多,可能看 ...
- 阿里力推“来往”,公众账号或成突破口
最近阿里巴巴推移动IM产品来往引发了业界的强烈关注,一方面,作为BAT三强中的阿里巴巴,一直对移动IM领域虎视眈眈,而此次推来往,也必将让BAT中的A和T两强之争更白热化:而另一方面,马云带头推来往, ...
- hibernate实战第二版 蒲成带目录_太NB了! 阿里程序员带你玩转Spring:脑图+实战五+面试百问+知识总结...
毋庸置疑,Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分Java 后端程序员在日常工作中也会接触到 Spring ,因此,如何用好 ...
- kafka rabbitmq优劣对比_Kafka、RabbitMQ、RocketMQ等消息中间件的对比
原文链接:Kafka.RabbitMQ.RocketMQ等消息中间件的对比 消息中间件现在有不少,网上很多文章都对其做过对比,在这我对其做进一步总结与整理. RocketMQ 淘宝内部的交易系统使用了 ...
- 阿里首推 Java 技术成长笔记,业内评级“钻石级”,还不来看?
前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...
- 又一里程碑,阿里首推Java技术成长笔记,业内评级“钻石级”
前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...
- 消息中间件(RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ等)的定义、组成、特点、优缺点、应用场景面试题
大家都参与过网上电商平台的秒杀活动吧,一般的秒杀活动辄几百万的参与人数,而"双十一"的参与人数更是已"亿"为计量单位.那么这些电商平台的系统架构是怎样的,它们是 ...
- 又一里程碑!阿里首推Java技术成长笔记,业内评级“钻石级”
前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...
- Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别
原文:http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_sourc ...
最新文章
- Chapter 2 Open Book——29
- c语言编程显示单月日历,任意年月日历输出-题解(C语言代码)
- mysql error manager,MYSQL Starting MySQL. ERROR! Manager of pid-file quit without updating file
- python的装饰器迭代器与生成器_python3 装饰器、列表生成器、迭代器、内置方法详解等(第四周)...
- C++函数调用方式(_stdcall, _pascal, _cdecl...)总结 收藏
- linux为什么要交换内存,Linux系统中交换内存是什么?
- 织梦CMS AJAX分页,可自定义typeid,调取任意内容
- CISA:企业断网3到5天,赶走网络中的 SolarWinds 黑客
- 【转参考】MySQL利用frm和ibd文件进行数据恢复
- LayoutLM: Pre-training of Text and Layout for Document Image Understanding
- 服务器cpu天梯图_2019年CPU单核跑分天梯图
- c语言中用于获取字符串长度的函数是,C语言字符串长度
- 研发人员如何提高工作效率
- 一些dalao的博客
- Android一点 Play Install Referrer
- 三栏布局的七种实现方式
- 计算机在材料化学中的应用大纲,材料化学-《材料研究方法》课程教学大纲
- 【UNR #6 C】稳健型选手(分治)(主席树)(二分)
- Bucket、Hash Chain List
- 360度解读山内溥:百年任天堂的传奇“基因”(转)