MQ面试必问系列 - 如何保证消息队列的高可用?

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

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

面试官心里分析

  • MQ的高可用是MQ的面试中必问的一个面试题,考察面试者在使用MQ的时候有没有相应的思考,而非简单的Api接口调用,如果你对这方面没有思考面试官对你的印象就会很差,说明你只是简单的使用,就算后面可以入职薪水也不会超过20k,因为你设计这个系统的时候肯定会留下很多坑。
    首先我们要理解高可用才能更好的回答这个问题。
    高可用:简单的来说高可用是让系统变得更加坚固,不容易挂掉(个人白话理解)。
    理解了高可用的含义之后解决高可用常用的方法就是集群,同一个实例部署多台机器,一个集群挂掉,不会影响业务的执行。下面就具体的讲一下各种MQ的集群原理。如果面试只是简单的回答集群,会好一点,如果将你项目中用到的MQ集群的模式和原理都能够讲出来,那绝对是加分的。

RabbitMQ集群

rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式

单机模式
  • 单机模式部署在一台机器上,一般都是demo级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式。
普通集群模式

如下图所示:
在这里插入图片描述

镜像集群模式

我们了解了上面的普通集群模式再去理解镜像集群模式就很简单了,镜像集群模式就是讲队列的元数据和消息都存放在每个实例中,这样就省去了MQ之间的数据传输同时也保证了高可用性。

在这里插入图片描述

  • 如何开启镜像集群,在控制台新增一个策略,选择是否节点之间同步信息即可。然后再去创建Queue
    这里只是讲了如何实现高可用,具体的如何集群还需要去自行Google一下各种MQ集群模式

Kafka集群

其他MQ相关的高可用也类似,针对自己项目中的MQ高可用的原理,可自行Google XXMQ如何实现高可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值