首页 > 其他分享 >面试题之RocketMQ

面试题之RocketMQ

时间:2022-09-01 17:26:37浏览次数:59  
标签:面试题 消费 生产者 Broker 消息 Consumer RocketMQ

1、为什么要使用 MQ?

  因为项目比较大,做了分布式系统,所有远程服务调用请求都是同步执行经常出问题,所以引入了 MQ,MQ具有异步解耦和削峰填谷的作用

2、RocketMQ 由哪些角色组成,每个角色作用和特点是什么?

  生产者(Producer):负责向消息服务器发送生产出来的消息。
  消费者(Consumer):负责消费消息。
  消息服务器(Broker):存储消息的地方,主要作用是接收来自 Producer 的消息并存储, Consumer 从这里取得消息。
  名称服务器 ( NameServer ):注册中心,管理生产者、消费者和Broker。

3、RocketMQ 消费模式有几种?

  消费模型由 Consumer 决定,消费维度为 Topic。
    集群消费:相同 Consumer Group 的每个 Consumer 实例平均分摊消息
    广播消费:相同 Consumer Group 的每个 Consumer 实例都接收全部的消息

4、如何避免消息被重复消费

  消息重复的场景

   1)发送时消息重复

      当生产者成功发送消息到Broker,但是由于网络原因导致生产者没有收到Broker的确认应答,生产者会重发消息

   2)消费时消息重复

    消息者消费该消息后,未能将消费成功反馈给Broker,会触发重试机制。

  答案:做唯一性校验,相同的业务唯一ID的消息只消费一次

标签:面试题,消费,生产者,Broker,消息,Consumer,RocketMQ
From: https://www.cnblogs.com/Cienu7u/p/16647196.html

相关文章

  • MQ系列5:RocketMQ消息的发送模式
    MQ系列1:消息中间件执行原理MQ系列2:消息中间件的技术选型MQ系列3:RocketMQ架构分析MQ系列4:NameServer原理解析在之前的篇章中,我们学习了RocketMQ的原理,以及RocketMQ中......
  • 前端高频面试题(六)(附答案)
    如何优化动画?对于如何优化动画,我们知道,一般情况下,动画需要频繁的操作DOM,就就会导致页面的性能问题,我们可以将动画的position属性设置为absolute或者fixed,将动画脱离文档流......
  • HBase面试题整理
    1、HBase的特点是什么?1)大:一个表可以有数十亿行,上百万列;2)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;3......
  • Sqoop面试题
    sqoop概述sqoop是连接关系型数据库和hadoop的桥梁,主要有两个方面(导入和导出):A.将关系型数据库的数据导入到Hadoop及其相关的系统中,如Hive和HBaseB.将数据从Hadoo......
  • ClickHouse高频面试题
     1、简单介绍一下ClickHouseClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。主要用于WEB流量分析。ClickHouse的全称是ClickStream,DataWareHouse......
  • Spark面试题
     一、Spark基础篇1、Spark是什么?Spark是一个通用分布式内存计算引擎。2009年在加州大学伯克利分校AMP实验室诞生,2014年2月,Spark成为Apache的顶级项目。......
  • Flink面试题
    1.什么是ApacheFlink(为什么使用Flink替代Spark?)        ApacheFlink是一个开源的基于流的有状态计算框架。它是分布式地执行的,具备低延迟、高吞吐的优秀性......
  • Flink CDC 高频面试题
      1cdc简介CDC(ChangeDataCapture)是一种用于捕捉数据库变更数据的技术,Flink从1.11版本开始原生支持CDC数据(changelog)的处理,目前已经是非常成熟的变更......
  • rocketmq安装
    4、启动(1)启动NAMESERVER使用cmd打开命令窗口,进入到rocketmq的bin目录下,执行:startmqnamesrv.cmd,若成功会弹出如下提示框,请勿关闭此框。(2)启动BROKER同样在rocketmq的bin......
  • 面试题之:SpringMVC框架
    1、谈一下你对SpringMVC框架的理解(了解)SpringMVC是一个基于Java的、实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将we......