【面试宝典】40道RocketMQ高频题库整理(附答案背诵版)

简述什么是RocketMQ ?

RocketMQ是一款分布式、队列模型的消息中间件,它具有以下特点:

  1. 支持严格的消息顺序;
  2. 支持Topic与Queue两种模式;
  3. 具有亿级消息堆积能力;
  4. 分布式特性比较友好;
  5. 同时支持Push与Pull方式消费消息。

RocketMQ的优势在于它支持事务型消息,能够保持消息发送和DB操作两方的最终一致性,这是主流MQ中唯独RocketMQ支持的。此外,RocketMQ还支持结合多个系统之间数据最终一致性、18个级别的延迟消息、指定次数和时间间隔的失败消息重发等特性,这些也是其他MQ产品所不具备的。

简述RocketMQ 整体架构 ?

RocketMQ是一款具有低延迟、高性能和可靠性、可灵活扩展的分布式消息平台。它由四部分组成:NameServer、Broker、生产者和消费者。

NameServer是一个轻量级的服务注册中心,每个NameServer节点中有全量的Broker中topic的路由信息。

Broker负责消息存储,以topic为维度支持轻量级的队列,单机可以支撑上万队列规模,支持消息推拉模型,具备多副本容错机制(2副本或3副本)、强大的削峰填谷以及上亿级消息堆积能力,同时可严格保证消息的有序性。

ProducerClient是用户部署的消息发布客户端,支持push和pull模型,支持广播模式和集群模式。

Queue是topic的细分。

以上各部分都可以在没有单点故障的情况下进行水平扩展。

简述RocketMQ的执行流程 ?

RocketMQ的执行流程包括以下步骤:

  1. 启动NameServer,NameServer起来后监听端口,等待Broker、Producer、Consumer连上来。
  2. Broker启动,跟所有的NameServer保持长连接,定时发送心跳包。
  3. 在收发消息前,需要先创建Topic。创建Topic时,需要指定该Topic要存储在哪些Broker上。也可以在发送消息时自动创建Topic。
  4. Producer发送消息。
  5. Consumer消费消息。

简述RocketMQ特点 ?

RocketMQ是一款分布式、队列模型的消息中间件,具有以下特点:

  1. 具有灵活的可扩展性:RocketMQ天然支持集群,其核心四大组件(NameServer、Broker、Producer、Consumer)的每一个都可以在没有单点故障的情况下进行水平扩展。
  2. 具有海量消息堆积能力:RocketMQ采用零拷贝原理实现了超大量消息的堆积能力,据说单机已经支持亿级消息堆积,而且在堆积了这么多消息后保持写入低延迟。
  3. 支持顺序消息:RocketMq可以保持消息消费者按照消息的发送顺序对消息进行消费。顺序消息分为全局有序消息和局部有序消息,一般推荐使用局部有序消息,即生产者通过将某一类消息按照顺序发送至同一队列中来实现。
  4. 支持多种消息过滤方式:消息过滤分为在服务器端过滤和在消费端过滤。在服务器端过滤时可以按照消息消费者的要求进行过滤,优点是减少不必要的消息传输,缺点是增加了消息服务器的负担,实现相对复杂。消费端过滤则完全由具体应用自定义实现,这种方式更加灵活。
  5. 具有高性能、高可靠、高实时、分布式特点:RocketMQ是一个队列模型的消息中间件,同时支持Push与Pull方式消费消息。
  6. 提供丰富的消息拉取模式:RocketMQ支持多种拉取模式,可以满足不同的使用需求。
  7. 具有高效的订阅者水平扩展能力:RocketMQ支持高效的订阅者水平扩展,可以轻松应对大规模的并发访问。
  8. 具有实时的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值