当前位置:硬件测评 > 面试官:RocketMQ是什么,有什么特点和使用场景?

面试官:RocketMQ是什么,有什么特点和使用场景?

  • 发布:2023-10-04 10:27

您好!大家好,我是小奇​​,一个热爱分享的程序员。小奇计划在轻松幽默的对话中分享一些技术。如果你觉得通过小奇的文章学到了一些东西,那就给小奇点个赞吧。文章将持续更新。 作为Java程序员,RocketMQ的一些底层原理是我们不用学就能用的技能,但为什么小奇需要讲这些呢?难道只是为了浪费大家一分钟的宝贵时间吗?一个人一分钟,50万人一年,5000万人100年。这是一个利润。小奇凭借一己之力成功杀死了一个人(血钱)。 当然不是,而且看小奇文章的人也不多,顶多就是浪费一个肾。 了解RocketMQ的底层原理,因为面试官要问! ,所以我们要学什么?不实用的话你还不学吗?那么邻居和小奇就必须好好学习。到时候,面试官只想要小奇,不想要你。 至于你问面试官为什么问RocketMQ的底层原理,是这样的。 。 。我把这个机会留给你。下次接受采访时,面试官会问:“请告诉我RocketMQ的底层原理。”你:“面试官你好,你为什么问RocketMQ的底层原理?给我一台电脑,我五分钟就给你搭建一个图书管理系统,是不是很棒?让我们看看键盘上的真相”。这时候面试官就会告诉你答案,你可以在评论区输入答案,这样小奇和很多朋友就可以知道你为什么问? 一个阳光明媚的星期天,我来到了一个陌生的公园(别问为什么是星期天,问,是997,但作为一个农民工,为了填饱肚子,我只能去虎山,明知道这里有山中猛虎),坐在陌生的会议室里,等待HR女士给面试官打电话。此时我的心情也和所有朋友一样五味杂陈。我担心面试官提出的要求会很难?当被问到我的知识盲点时我该怎么办?等我自我介绍的时候,你是不是想吹嘘我和小奇的关系? 一位英俊潇洒、目光锐利的面试官走了进来,看到他那仿佛能看穿一切的锐利眼神,我在想,一时半会儿就不愿意花2万买8k了。这个面试官一看就不是好骗的。啊,我记得我来之前刚刚看了小奇的趣味节目。我彻底领悟了小奇的精髓。我顿时信心十足,决定一会儿要30k。不给我就学小奇不肯走(哈哈) 面试官:小奇,对吗?你带简历了吗? 我:我没带。彩色打印每张两元。我有五份简历。每次面试费用十元。我的朋友告诉我,在找到工作之前不要去做需要付费的工作。 面试官:。 。 。那你凭什么征服我,让我聘用你? 我:气质? (面试官此时并没有叫保安,而是从门后拿出了一直在等我的棍子,我瞬间被吓到了) 我只好从背包里拿出早上从另一家公司向面试官索要的简历。早上的情况是这样的。 面试官早上:今天的采访就到此为止。回去等待通知吧! 我:面试官你好,如果贵公司不打算录取我,可以把我的纸质简历还给我吗?下午我还有一次面试。 面试官早上:我说你的简历皱得这么厉害,原来你一直在回收它!这些症状出现多久了? 我:半个月了。 。 。 (我把皱巴巴的简历递给面试官后,面试才得以继续……) 面试官:我在你的简历上看到你精通RocketMQ? (哼,面试官轻蔑一笑) 我:本来不想写熟练度的,但是同事夸奖我就逼我写,不过也没什么问题。虽然我还没有达到熟练的程度,但也已经接近顶尖了。 面试官:哈哈,请先告诉我RocketMQ是什么。 我:RocketMQ是一个消息队列中间件,通过将消息放入队列来达到解耦、削峰填谷的效果。 面试官:那么,RocketMQ 消息传递模型是什么样的? 我:RocketMQ主要由三部分组成,分别是消息生产端Producer、消息存储端Broker、消息消费端Consumer。 面试官:那么RocketMQ有哪些消息发送模式呢? 1. 基本模式 在基本模式下,我们的生产者可以通过三种不同的方式发送消息,即同步发送、异步发送、单向发送。同步发送要求接收端响应当前消息后才能再次发送消息。单向发送不需要等待接收端对收到的消息做出响应才可以再次发送。另外,消费者消费消息有两种模式。一种是pull模式,消费者主动去Broker拉取消息,另一种是push模式,消费者等待Broker推送消息。 2、顺序消息发送模式 顺序模式是保证发送到Broker的消息顺序和消费者从Broker消费时的顺序是有序的。如果只有一个Broker,那肯定是有序的。如果有多个 Broker,则无法保证。有序性,所以RocketMQ保证消息的本地有序性,但不保证全局有序性。 3.广播消息发送方式。对于多个消费者来说,广播消息发送方式并不意味着如果一个消费者消费了该消息,该消息就没有了。相反,每个消费者都会消费这个消息。就像我用扩音器在村里广播张寡妇和王光光的事一样。我只说了一次,但村子里的人都听到了。这就是广播模式。如果不采用广播方式,那么我找到刘阿姨,告诉她张寡妇和王光光的事情,那么只有刘阿姨知道(当然,如果刘阿姨知道了,全村的人都会知道)最晚过夜)) 4、延迟消息发送模式 延迟消息是指生产者发送消息后,消息没有及时发送出去,而是等待一段时间才发送出去。 比如上面我给刘阿姨讲了一个八卦,我让她不要向外传播。那她肯定做不到。我只能要求她一个小时内不要向外传播,而她还是要给我预留一个小时。逃跑 结果刘阿姨说一个小时忍不了,最后谈判后也只能忍五分钟,我就无话可说了。我可以在五分钟内跑两英里,这比没有时间好。 还没来得及跑,就看见刘阿姨拦住了骑着大自行车准备回家做饭的老林。老林下了自行车,满脸期待地问道:“刘阿姨,这是怎么回事?好神秘啊。”只见刘阿姨看了一眼手上的小金表,说道:“再等四分半钟,我告诉你一个秘密。” 我完全相信。我们村不愧是人才村,人人都是人才。 。 。 5、批量消息发送方式 批量消息发送是指将多条消息合并为一条消息,一次性发送出去。这样的好处可以减少网络IO次数,提高效率。 比如,以前我在村里闲聊的时候,见到刘阿姨,我就说:“哦,刘阿姨,你不知道。”刘阿姨:“我真的不知道,你什么也没说。”我说:我们村的张寡妇真好。刘婶:“张寡妇怎么了?她怎么比我好?”我说:“我们村里还有一个王光官,他单身四十多年了,没想到他还有这个本事。”刘阿姨:“怎么了?不是小奇,你能马上告诉我吗?我快要窒息了,你告诉我怎么回事。”我说:村东头的玉米地里就他们两个人。刘婶:“那又怎么样?”我说:“我先回去吃饭了,吃完饭再回来告诉你剩下的事情。”刘婶:“你个混蛋,你以为我能让你吃得安心吗?你吊我胃口,你就是找死。” 尽管我能一下子解释清楚,但我还是坚持要演60集的电视剧。冯导听后还夸奖了我。 6、过滤消息发送模式在RocketMQ中,我们可以利用Message的Tag属性来过滤信息,即我们指定哪个consumer可以接收到这个信息,那么它就可以接收到,而其他的则不能。 比如说我发现村里有八卦,忍不住想让村里的人都知道,那我就发到村里的微信群里就可以了,但是张寡妇和王光官也在微信里所以我一发帖,他们就知道是我了。然后我就得先把他们两个拉黑,然后发消息,然后群里瞬间就炸了,只有他两个不知道发生了什么。 7. 事务消息发送方式 事务消息是一种两阶段提交消息实现,保证分布式系统中的最终一致性。可以保证本地事务执行和消息发送操作的原子性。 这里保证的是生产者发送的消息必须与生产者本地存储的消息一致。比如说我们购买商品、下订单的时候,我们简单描述一下这个过程。 1. 客户下订单。 2、程序生成一条订单信息(此时尚未入库)。 3、此时向快递发送消息,要求快递为该订单准备货物。 4、此时,生成的订单信息将落入订单服务数据库中。 上面是一个正常的过程,但是如果订单信息落入数据库的时候失败了怎么办?此时快递消息已发送至快递服务,但订单服务入库失败。如果没有这个订单,那就是浪费快递了。如果以后你不能对账,你的老板就会杀了你。 这时候我们需要处理一个事务。我们可以执行两阶段提交来确保事务。 面试官:这个年轻人太棒了。我没什么要问的了。您还有其他问题吗? (面试官眼睛发亮) 我:呃。 。 。面试官,我现在可以走了吗?稍后我还有面试。 面试官:您还在寻找其他公司吗?到我这里来。任何条件均适用。 我:那就10万(这时候面试官又拿起了准备好的棍子) 面试官:如果你不来,给我推荐一下,然后请其他人来我家面试。 我:你先好好学学RocketMQ吧。幸运的是,今天我在这里。如果小奇的忠实读者来到这里,你会被折磨得很惨。 (我把博客地址留给了面试官,转身留下了我帅气的身影,而面试官茫然无助地坐在那里,仿佛一亿人都离开了他……) 关于RocketMQ的信息还没有整理出来。文章后续会持续更新。建议收藏起来。 您必须像我一样多次键入本文中提到的每个命令。只有在打字的过程中才能发现自己是否真正掌握了命令。 如果您觉得我的文章不错,请点个赞

相关文章