RocketMQ面试题

1.MQ如何集群化部署来支撑高并发访问?

RocketMQ单机可以支撑10万+的并发访问,集群部署可以让流量分散在多台机器上来支撑高并发。

2.MQ如果要存储海量消息应该怎么做?

MQ会收到大量的消息,并不是立马就会被所有的消费方获取过去消费的,所以一般MQ都得把消息在自己本地磁盘存储起来,然后等待消费方获取消息去处理。
本质上RocketMQ存储海量消息的机制就是分布式的存储。所谓分布式存储,就是把数据分散在多台机器上来存储,每台机器存储一部分消息,这样多台机器加起来就可以存储海量消息了

3.如何保证高可用,万一Broker宕机了怎么办?

Broker主从架构以及多副本策略,Master Broker收到消息之后会同步给Slave Broker,这样Slave Broker上就能有一模一样的一份副本数据。即使Master出现故障,还有Slave上有一份数据副本,可以保证数据不丢失,继续对外提供服务,保证了MQ的可靠性和高可用性。

4.数据路由:怎么知道访问哪个Broker?

RocketMQ为了解决这个问题,有一个NameServer的概念,他也是独立部署在几台机器上的,然后所有的Broker都会把自己注册到NameServer上去,对于系统而言,如果他要发送消息到Broker,会找NameServer去获取路由信息,就是集群里有哪些Broker等信息.如果系统要从Broker获取消息,也会找NameServer获取路由信息,去找到对应的Broker获取消息。

5.NameServer如何实现高可用?

NameServer支持部署多台机器的,起到高可用的效果,保证任何一台机器宕机,其他机器上的NameServer可以继续对外提供服务。

6.Broker是把自己的信息注册到哪个NameServer上去?

每个Broker启动都得向所有的NameServer进行注册也就是说,每个NameServer都会有一份集群中所有Broker的信息。

7.系统如何从NameServer获取Broker信息?

系统自己每隔一段时间,定时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值