面试题:如何保证消息队列的高可用?

Posted Java面试那些事儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题:如何保证消息队列的高可用?相关的知识,希望对你有一定的参考价值。

前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考。

来源:http://1t.click/Mvj


试官心理分析:


如果有人问到你 MQ 的知识,高可用是必问的。上一讲提到,MQ 会导致系统可用性降低。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。

要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做个 20k 薪资以内的普通小弟还凑合,要是做薪资 20k+ 的高工,那就惨了,让你设计个系统,里面肯定一堆坑,出了事故公司受损失,团队一起背锅。

面试题剖析

这个问题这么问是很好的,因为不能问你 Kafka 的高可用性怎么保证?ActiveMQ 的高可用性怎么保证?一个面试官要是这么问就显得很没水平,人家可能用的就是 RabbitMQ,没用过 Kafka,你上来问人家 Kafka 干什么?这不是摆明了刁难人么。

所以有水平的面试官,问的是 MQ 的高可用性怎么保证?这样就是你用过哪个 MQ,你就说说你对那个 MQ 的高可用性的理解。

RabbitMQ 的高可用性

RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。

RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。

单机模式

单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的

以上是关于面试题:如何保证消息队列的高可用?的主要内容,如果未能解决你的问题,请参考以下文章

如何保证消息队列的高可用???

每日一题:如何保证消息队列的高可用?

消息队列的面试题2

面试官心理分析+面试题剖析:消息队列+Redis 缓存+分布式系统等

高薪程序员&面试题精讲系列127之如何设计一个消息队列?如何保证消息的执行顺序?

关于MQ面试的几件小事 | 如何保证消息队列高可用和幂等