哈喽!大家好,我是小奇,一位不靠谱的程序员
小奇打算以轻松风趣的对话形式来分享一些技术,如果你感觉通过小奇的文章学到了货色,那就给小奇一个赞吧
文章继续更新
一、前言
RabbitMQ咱们常常的应用,然而它有很多高级的个性咱们也须要纯熟的把握能力应答事实场景中简单的业务逻辑。
二、面试
面试官:小奇是吧,咱们开始面试吧
我:快点吧,早就饥渴难耐了
面试官:有用过 RabbitMQ 吗
我:用过
三、RabbitMQ 怎么实现生产的牢靠投递
面试官:RabbitMQ 音讯生产者发送音讯后怎么晓得消费者有没有收到音讯呢
我:生产者能够通过 setConfirmCallback 办法设置回调函数,判断办法中的 ack,如果 ack 为 true 则示意发送胜利,如果 ack 为 false 则示意发送失败,这里是生产者向路由器发送音讯的时候失败。
我:咱们还能够通过 setReturnCallback 办法设置回调函数,这里是路由器向队列发送音讯失败,比方该条音讯依据路由键没有找到要发送到哪个队列中去。
面试官:那生产端这里怎么判断是否收到音讯了呢
我:生产端这里能够通过 channel.basicAck()办法来确认收到音讯。
面试官:那生产端这里解决收到的音讯的时候产生异样怎么办?
我:能够应用 channel.basicNack()办法来回绝音讯,让 MQ 从新发送音讯
面试官:咱们生产端每次解决完音讯都须要手动确认音讯吗
我:能够配置手动确认,也能够配置主动确认音讯,在配置文件中配置
面试官:那一共有几种确认形式呢
我:一共有三种确认形式。
1、主动确认:acknowledge=none
2、手动确认:acknowledge=manual
3、依据异常情况确认:acknowledge=auto
面试官:能够呀小伙子,这块把握的不错
我:还行还行,都是日常的积攒
面试官:小伙子真厉害啊,一下子就把 RabbitMQ 怎么实现生产的牢靠投递讲明确了,你面试通过了,今天上岗吧
我:啊,这么急吗,我前面还有好多货色没有讲呢。
面试官:不焦急,进来了当前缓缓听你讲,加班让你跟我讲
我:啊。。。这也太难了吧
四、总结
这里对于 RabbitMQ 还没有整顿结束,文章前面继续更新,倡议珍藏。
文章中波及到的命令大家肯定要像我一样每个都敲几遍,只有在敲的过程中能力发现自己对命令是否真正的把握了。
如果感觉我的文章还不错的话就点个赞吧
本文参加了 SegmentFault 思否征文「如何“反杀”面试官?」,欢送正在浏览的你也退出。