栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RocketMQ面试题

RocketMQ面试题

rocketmq的架构原理:https://www.cnblogs.com/qdhxhz/p/11094624.html
rocketmq的入门使用:https://blog.csdn.net/Linging_24/article/details/120659175?spm=1001.2014.3001.5501
rocketmq的面试题:https://www.cnblogs.com/javazhiyin/p/13327925.html

  1. 消息队列的优缺点,以及使用场景?

  2. 如何保证消息不被重复消费?
    由于网络波动的原因,无法保证生产消息和消费消息时的重复,所以只能保证消息的幂等性。

  3. 如何保证消息不丢失

    broker默认是异步刷盘。

  4. 如何让RocketMQ保证消息的顺序消费?
    将消息发送到同一个topic的同一个Queue中,然后消费从这个topic的queue中去拿消息消费。

  5. 如何保证消息发送到同一个queue中?
    rocketmq给我们提供了一个接口MessageQueueSelector,可以实现相同规则的消息发送到同一个queue中。

  6. RocketMQ消费模式有几种?

    消费模型由Consumer决定,消费维度为Topic。

    集群消费
    1.一条消息只会被同Group中的一个Consumer消费
    2.多个Group同时消费一个Topic时,每个Group都会有一个Consumer消费到数据

    广播消费
    消息将对一 个Consumer Group 下的各个 Consumer 实例都消费一遍。即即使这些 Consumer 属于同一个Consumer Group ,消息也会被 Consumer Group 中的每个 Consumer 都消费一次。

  7. 消费消息是push还是pull?
    RocketMQ没有真正意义的push,都是pull,虽然有push类,但实际底层实现采用的是长轮询机制,即拉取方式。

  8. 什么是死信队列?什么是延时队列?
    1.死信队列:当消息消费失败,会进入重试队列,进行重试消费,当重试次数达到一定时,消息还是消费失败,就会进入死信队列,用于存放没有被消费的消息。
    2.延时队列:用来存放需要在指定时间被处理的元素的队列,通常可以用来处理一些具有过期性操作的业务,比如十分钟未处理则取消订单。

  9. rocketmq的事务消息原理

    1. 生产者发送消息到MQ中,并标识为半消息,存储在半消息队列中,该队列对业务透明,不会被消费者消费到。
    2. broker接收到消息并回调执行本地事务中的内容,本地事务执行之后会返回事务的状态(成功、回滚、未知)其中的一种。
      1. 返回成功:即本地事务执行成功,MQ将半消息队列中的消息移入真正的会被消费者消费的队列中。由消费者进行消费。
      2. 返回回滚:即本地事务执行失败,MQ会删除半消息队列中的消息。
      3. 返回未知:即本地事务执行的状态为未知,此时MQ会进行消息回查,回查的逻辑由自己实现,来判断本地事务是否执行成功。 事务回查的时间间隔为1分钟,每隔1分钟进行一次回查,最大回查次数为15次,达到最大次数消息会被丢弃。
  10. MQ的选型有哪些?及特点?
    https://www.cnblogs.com/stone531/p/10519279.html

  11. rocketmq的消息重试
    https://blog.csdn.net/weixin_34452850/article/details/82746852

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号