面试官:RabbitMQ怎么实现消费的可靠投递

简介: 本文讲解RabbitMQ如何实现消费的可靠投递。

一、前言



RabbitMQ我们经常的使用,但是它有很多高级的特性我们也需要熟练的掌握才能应对现实场景中复杂的业务逻辑。


二、面试



面试官:小奇是吧,我们开始面试吧


我:快点吧,早就饥渴难耐了


面试官:有用过RabbitMQ吗


我:用过


三、RabbitMQ怎么实现消费的可靠投递



面试官:RabbitMQ消息生产者发送消息后怎么知道消费者有没有收到消息呢


我:生产者可以通过setConfirmCallback方法设置回调函数,判断方法中的ack,如果ack为true则表示发送成功,如果ack为false则表示发送失败,这里是生产者向路由器发送消息的时候失败。


24.png


我:我们还可以通过setReturnCallback方法设置回调函数,这里是路由器向队列发送消息失败,比如该条消息根据路由键没有找到要发送到哪个队列中去。


25.png


面试官:那消费端这里怎么判断是否收到消息了呢


我:消费端这里可以通过channel.basicAck()方法来确认收到消息。


26.png


面试官:那消费端这里处理收到的消息的时候发生异常怎么办?


我:可以使用channel.basicNack()方法来拒绝消息,让MQ重新发送消息


27.png


面试官:我们消费端每次处理完消息都需要手动确认消息吗


我:可以配置手动确认,也可以配置自动确认消息,在配置文件中配置


28.png


面试官:那一共有几种确认方式呢


我:一共有三种确认方式。

1、自动确认:acknowledge=none

2、手动确认:acknowledge=manual

3、根据异常情况确认:acknowledge=auto


面试官:可以呀小伙子,这块掌握的不错


我:还行还行,都是日常的积累


面试官:小伙子真厉害啊,一下子就把RabbitMQ怎么实现消费的可靠投递讲明白了,你面试通过了,明天上岗吧


我:啊,这么急吗,我后面还有好多东西没有讲呢。


面试官:不着急,进来了以后慢慢听你讲,加班让你跟我讲


我:啊。。。这也太难了吧


四、总结



这里关于RabbitMQ还没有整理完毕,文章后面持续更新,建议收藏。


文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。




相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
28天前
|
消息中间件 缓存 NoSQL
RabbitMQ 总结面试
RabbitMQ 总结面试
17 0
|
1月前
|
消息中间件 存储 负载均衡
RocketMQ 面试题及答案整理,最新面试题
RocketMQ 面试题及答案整理,最新面试题
147 4
|
1月前
|
消息中间件 存储 监控
RabbitMQ 面试题及答案整理,最新面试题
RabbitMQ 面试题及答案整理,最新面试题
114 1
|
3月前
|
消息中间件 负载均衡 监控
【面试问题】RabbitMQ 的集群
【1月更文挑战第27天】【面试问题】RabbitMQ 的集群
|
5月前
|
消息中间件 存储 网络协议
我们一起来学RabbitMQ 五:RabbitMQ 应知应会的面试题
我们一起来学RabbitMQ 五:RabbitMQ 应知应会的面试题
|
3月前
|
消息中间件
【面试问题】如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
【1月更文挑战第27天】【面试问题】如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
|
5月前
|
消息中间件 存储 网络协议
Java面试题 -RabbitMQ
Java面试题 -RabbitMQ
63 0
|
3月前
|
消息中间件 网络架构
【面试问题】什么是 MQ topic 交换器(模式匹配) ?
【1月更文挑战第27天】【面试问题】什么是 MQ topic 交换器(模式匹配) ?
|
3月前
|
消息中间件 存储 缓存
【面试问题】MQ 如何保证消息的顺序性?
【1月更文挑战第27天】【面试问题】MQ 如何保证消息的顺序性?
|
3月前
|
消息中间件
【面试问题】MQ 消息怎么路由?
【1月更文挑战第27天】【面试问题】MQ 消息怎么路由?