动图了解一个MQ消息如何“走完一生”~面试宝典第三弹-深入了解一门技术的方法参考;

1 篇文章 0 订阅

 某天下午接近三点钟,我如约而至的坐在了电脑面前,打开了面试官提前发给我的腾讯视频面试会议链接,进入了提前约定好的会议室准备开始面试,面对视频会议,开始有那么一丝丝的紧张,不过我告诉我自己,准备已经很充分了,放轻松就好。到了三点整,那位戴着眼镜的面试官果然准时入会,然后开始了我的面试!面试过程中,脑海中隐隐浮现出自己从基础到深入的准备一个技术面试的画面~

    我在前面两个章节已经讲了,面试小白怎么开始着手自己的面试,以及准备过程怎么尽可能还原面试场景这两个部分。

Java面试宝典第一弹~如何从零开始着手面试_StefanSSSS的博客-CSDN博客

面试宝典第二弹~破除面试紧张魔咒_StefanSSSS的博客-CSDN博客

还差一个,那就是最最核心的技术面准备部分,同时也是最耗费精力的。那今天就结合个人经历,用一个只要你写在简历上,面试官就一定会问到的技术-消息中间件作为例子,和大家介绍,如何相对更加高效的去做一个深入性的准备和总结!保证小白看了会收到启发,当然如果你是大佬正在浏览这个文章,有什么不足,欢迎指正和建议,万分感激!

     面试官:你先自我介绍一下吧~

     我说出提前准备好的2号版本:2min30s的自我介绍

    面试官:你刚刚提到你参与过一个**项目,那你在做你的**任务的时候有用过消息中间件是吧,那你说说一开始你是怎么做的技术选型?

    我内心OS:不是我做的技术选型啊,是我的领导做的,但是面对面试官,为了展示我独立思考🤔和判断决策的能力,还好提前做了准备。首先我去百度了一张图,如图,然后我把图上的各个参数对比结合我的业务做了一点总结:

图片

我推了一下眼镜:嗯,时间有点久,我回想一下。当时我在拿到这个需求的时候,关于技术选型,更多是从使用上来进行考虑的,首先在单秒的吞吐量上RocketMQ 可以达到10w,kafaka可以达到16万左右这样,然后RabbitMQ就只有2万这样;然后我们的业务量的话 QPS大概是****,所以用我觉得RocketMQ比较合适;

另外在那个事务性上,RocketMQ相对于kafaka和RabbitMQ更加有优势,因为他的底层是用一个事务回查机制;(但是不明说,就等着你继续提问,嘿嘿)和其他两个消息中间件不一样的流程来保证事务性最终一致;

所以综合 我们业务量对吞吐量的需求,和事务这两个特点,会使用RocketMQ会更好一些;然后也因为这次经历吧,自己对RocketMQ也学到更多了;(此时停止回答,让面试官对接下来我到底对这个技术掌握多少有更强的欲望)

面试官:那你是用mq做的这个**功能的话,那你是怎么解决消息丢失的问题以及重复性消费问题的?

    面试官的这个问题瞬间把我带回了前几天我梳理RocketMq的时候的记忆。当时的我,只是停留在会用mq写业务代码的阶段,深知自己的不足,于是我

1.拿起了一支笔

2.拿出了一个笔记本

3.开始从头梳理并且手绘出RocketMq技术栈内部的:

    3.1 各种角色模型

    3.2 每个角色的功能

    3.3 各个角色之间的关系

    3.4 使用这个技术还需要额外考虑的特殊情况的发生以及解决方案

话不多说,上图介绍:

个人在理解这个模型的时候发现有两个关键,只要把握了这两个关键,理解RocketMq就没有那么难了,最好可以根据自己的理解,画出正确的流程图,并且脑子中有一个消息走完的动图就更完美了。

第一个关键就是理解消息生产者Producer生产消息并且将消息储存在Broker集群中的过程。关键字:生产

第二个关键就是理解消息消费者Consumer订阅并消费在Broker集群的消息的过程。

关键字:消费

对此我做了一个动图将整个流程表现出来,分享出来,如有不足欢迎指正;但是这里比较难搞视频,所以想看的伙伴欢迎关注公众号“笨鸟慢飞”,或者直接点击这个连接进行查看,多谢;

动图了解一个MQ消息如何“走完一生”~面试宝典第三弹

我是一边学习,一边总结的笨鸟,慢慢飞吧;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值