先来谈谈RabbitMQ

附面试思维导图:

不多说,上一份我手绘的RabbitMQ思维脑图,先来总体的梳理一下各知识点

手绘的RabbitMQ思维脑图

额,这个手绘电子版的RabbitMQ知识大纲,有点不太好展示,截图可以看见里面的内容比较多,可能看不清楚,等下后面会细说一下

说到RabbitMQ,其实它已是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用,并且RabbitMQ有以下4大优点:

  1. 高可靠
  2. 易扩展
  3. 高可用
  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道消息中间件相关的面试真题(附答案)

  1. activemq 有哪几种通信方式?
  2. activemq 如果数据提交不成功怎么办(消息丢失)?
  3. 如何解决消息重复问题?
  4. 大量的消息每页被消费,能否发生 oom 异常?
  5. activeMQ 发送消息的方式有哪些?
  6. activeMQ 如何调优?
  7. 什么是死信队列?
  8. Basic.Reject 的用法是什么?
  9. 为什么不应该对所有的 message 都使用持久化机制?
  10. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?
  11. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的queue 执行 consume 动作会发生什么?
  12. 什么情况下 producer 不主动创建 queue 是安全的?
  13. “dead letter”queue 的用途?
  14. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
  15. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  16. RabbitMQ 概念里的 channel、exchange 和 queue 这些东东是逻辑概念,还是对应着进程实体?这些东东分别起什么作用?
  17. 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
  18. cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
  19. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
  20. Consumer Cancellation Notification 机制用于什么场景?
  21. RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?

答案解析如下:

答案解析-部分

答案解析-部分

答案解析-部分

最后我想说

为了方便,小编已将这些[手绘RabbitMQ思维脑图]、[RabbitMQ实战指南]、[手绘RocketMQ思维脑图]、[手写RocketMQ笔记]、[消息中间件面试相关问题(附答案)]全部整理成了以下的文件。

阿里力推双Q:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试,你知道多少?相关推荐

  1. 双Q合璧:RabbitMQ与RocketMQ,电子版手绘脑图+学习指南+面试等,全在这儿了!

    先来谈谈RabbitMQ 不多说,上一份我手绘的RabbitMQ思维脑图,先来总体的梳理一下各知识点 额,这个手绘电子版的RabbitMQ知识大纲,有点不太好展示,截图可以看见里面的内容比较多,可能看 ...

  2. 阿里力推“来往”,公众账号或成突破口

    最近阿里巴巴推移动IM产品来往引发了业界的强烈关注,一方面,作为BAT三强中的阿里巴巴,一直对移动IM领域虎视眈眈,而此次推来往,也必将让BAT中的A和T两强之争更白热化:而另一方面,马云带头推来往, ...

  3. hibernate实战第二版 蒲成带目录_太NB了! 阿里程序员带你玩转Spring:脑图+实战五+面试百问+知识总结...

    毋庸置疑,Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分Java 后端程序员在日常工作中也会接触到 Spring ,因此,如何用好 ...

  4. kafka rabbitmq优劣对比_Kafka、RabbitMQ、RocketMQ等消息中间件的对比

    原文链接:Kafka.RabbitMQ.RocketMQ等消息中间件的对比 消息中间件现在有不少,网上很多文章都对其做过对比,在这我对其做进一步总结与整理. RocketMQ 淘宝内部的交易系统使用了 ...

  5. 阿里首推 Java 技术成长笔记,业内评级“钻石级”,还不来看?

    前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...

  6. 又一里程碑,阿里首推Java技术成长笔记,业内评级“钻石级”

    前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...

  7. 消息中间件(RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ等)的定义、组成、特点、优缺点、应用场景面试题

    大家都参与过网上电商平台的秒杀活动吧,一般的秒杀活动辄几百万的参与人数,而"双十一"的参与人数更是已"亿"为计量单位.那么这些电商平台的系统架构是怎样的,它们是 ...

  8. 又一里程碑!阿里首推Java技术成长笔记,业内评级“钻石级”

    前言 根据数据表明,阿里巴巴已经连续3年获评最受欢迎的中国互联网公司,实际上阿里巴巴无论在科技创新力还是社会创造价值这几个方面,都是具有一定代表里的.在行业内,很多互联网企业也将阿里作为自己的标杆,越 ...

  9. Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别

    原文:http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_sourc ...

最新文章

  1. Chapter 2 Open Book——29
  2. c语言编程显示单月日历,任意年月日历输出-题解(C语言代码)
  3. mysql error manager,MYSQL Starting MySQL. ERROR! Manager of pid-file quit without updating file
  4. python的装饰器迭代器与生成器_python3 装饰器、列表生成器、迭代器、内置方法详解等(第四周)...
  5. C++函数调用方式(_stdcall, _pascal, _cdecl...)总结 收藏
  6. linux为什么要交换内存,Linux系统中交换内存是什么?
  7. 织梦CMS AJAX分页,可自定义typeid,调取任意内容
  8. CISA:企业断网3到5天,赶走网络中的 SolarWinds 黑客
  9. 【转参考】MySQL利用frm和ibd文件进行数据恢复
  10. LayoutLM: Pre-training of Text and Layout for Document Image Understanding
  11. 服务器cpu天梯图_2019年CPU单核跑分天梯图
  12. c语言中用于获取字符串长度的函数是,C语言字符串长度
  13. 研发人员如何提高工作效率
  14. 一些dalao的博客
  15. Android一点 Play Install Referrer
  16. 三栏布局的七种实现方式
  17. 计算机在材料化学中的应用大纲,材料化学-《材料研究方法》课程教学大纲
  18. 【UNR #6 C】稳健型选手(分治)(主席树)(二分)
  19. Bucket、Hash Chain List
  20. 360度解读山内溥:百年任天堂的传奇“基因”(转)

热门文章

  1. python爬虫----DAY4-1-----验证码识别实战---识别古诗文网
  2. Paxos 实现之 Chubby
  3. win7桌面上显示html,win7如何在桌面显示ie
  4. 常用几种消息摘要算法
  5. 坚持喝牛奶一年,身体会有什么变化
  6. ctags查看java代码,ctags 详细使用介绍
  7. 7-47 打印选课学生名单(25 分)
  8. 增加最少的边使有向图变为强连通图
  9. 高质量职场人类必用软件推荐,最后一个你肯定不知道
  10. linux tom路径,Linux 第3章 文件和目录结构