面试官问我 RabbitMQ 消息如何插队?
点击上方“业余草”,选择“置顶公众号”
第一时间获取技术干货和业界资讯!
消息中间件在各个大厂都有使用,算是现在面试过程中必问的一个知识点了。昨天,微信群里有一位网友说,面试官问我 RabbitMQ 消息如何插队?求大家科普如何做!
群里一直同意和谐社会,拒绝插队。但是在特殊情况下是可以插队的,比如医院里的急诊等。那么 RabbitMQ 消息该如何插队呢?
这个问题很简单,RabbitMQ 有优先队列。所以,RabbitMQ 消息队列优先级就可以用来解决“插队”问题。
生产者生成消息打到交换机里面(如果没有声明交换机,会打到 default exchange 里面),交换机绑定一个或多个队列,消息进入队列里面,消费者一直在监听队列,发现队列里面有消息就开始消费,这里就是一个消息传递的过程,queue 是一个栈队列,队列是先进先出的,就是说消息来了依次排队,一个队列并不能实现消息的插队和优先推送的功能。但是如果说我们的多个队列有不同的优先级,不同优先级的消息通过 roatingkey 进入不同的队列,优先级高的队列消息被优先消费,这样也能形成一个相对意义上的优先级,所以说这里不是消息的优先级而是队列的优先级。
明白了这个之后,你就知道如何回答面试官了。RabbitMQ 的消息是不能插队的,但是它提供的有优先队列。插队就是要靠高优先级的队列来实现。
在 RabbitMQ 中,设置消息的优先级一共有 2 个步骤:设置队列的 x-max-priority 参数;设置消息的 Priority 参数。
就这么简单,做完这个之后就可以验证优先级队列的作用。当然,需要注意的是,在消费端速度大于生产端速度,且 broker 中没有消息堆积的话,对发送的消息设置优先级也没什么实际意义,因为发送端刚发送完一条消息就被消费端消费了,那么就相当于 broker 至多只有一条消息,那么对于单条消息来说优先级是没有什么意义的。
以上,希望能够帮助到大家!另外如果有人愿意一起精进,请加我微信小号:xttblog。
面试官问我 RabbitMQ 消息如何插队?相关推荐
- 【067期】面试官问:说说常见的加密算法、原理、优缺点及用途?
>>号外:关注"Java精选"公众号,回复"面试资料",免费领取资料!"Java精选面试题"小程序,3000+ 道面试题在线刷, ...
- 【146期】面试官问:说一说 RabbitMQ 的几种工作模式和优化建议?
点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方留言必回,有问必答! 每天 08:00 更新文章,每天进步一点点... 1.组 ...
- 关于使用消息队列今天被面试官问倒了
为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务 ...
- 面试官问:Kafka 会不会丢消息?怎么处理的?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! Kafka存在丢消息的问题,消息丢失会发生在Broker, ...
- 【240期】面试官问:说说基于 Redis 实现延时队列服务?
点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每天 08:15 更新文章,每天进步一点点... ...
- 拼多多面试官没想到RabbitMQ我早就入门了,人直接傻掉
拼多多面试官没想到RabbitMQ我早就入门了,人直接傻掉. 人一辈子最值得炫耀的不应该是你的财富有多少(虽然这话说得有点违心,呵呵),而是你的学习能力.技术更新迭代的速度非常快,那作为程序员,我们就 ...
- 当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮
前言 今天介绍一下Java的两个集合类,ArrayList和LinkedList,这两个集合的知识点几乎可以说面试必问的. 对于这两个集合类,相信大家都不陌生,ArrayList可以说是日常开发中用的 ...
- 你以为面试官问的是分布式缓存,其实他想问……
最近一个哥们去面试某当红大厂了,其中几个他印象深刻的面试题你们品品: 1.介绍下如何对MySQL SQL语句进行分析和优化? 2.Redis 怎样实现的分布式锁? 3.如何实现本地缓存和分布式缓存? ...
- 被面试官问懵:TCP 四次挥手收到乱序的 FIN 包会如何处理?
摘要:收到个读者的问题,他在面试的时候,被搞懵了,因为面试官问了他这么一个网络问题. 本文分享自华为云社区<TCP 四次挥手收到乱序的 FIN 包会如何处理?>,作者:小林coding . ...
- 面试官问:在读多写少的情况下,如何优化 MySQL 的数据查询方案
作者 | 面试官问 责编 | 张文 来源 | 面试官问(ID:interviewer_asked) 面试官问:假设你负责的某业务在双十一期间要搞运营活动,公司投入了大量的营销费用进行推广,此举 ...
最新文章
- 如何利用计算机解决问题,《用计算机解决问题的一般步骤》讲课教案
- 用一个按钮做主窗口,可以吗?
- python 句子中没有中文_人生感悟经典句子,生活中可以没有诗歌,但不能没有诗意...
- HW RIPv2认证
- Linux下配置静态IP地址,设置DNS和主机名
- 解决两个WINDOWS10的卡死问题
- iOS锁屏代码注意使用新接口
- VMware安装虚拟机操作步骤[史上最详细]
- pytorch模型加密
- vue.js微信公众号登录,获取当前用户openid等基本信息
- 华为+android+root权限获取root,华为root权限获取的方法有哪些【图文】
- 浏览器使用:chrome谷歌浏览器网页截图capture+火狐浏览器的历史在哪?
- Java【汉诺塔问题】详细图文解析, 包教包会
- 如何安装My SQL
- 公司里的技术总监CTO,天天都在干些啥?
- 读《我能记住 - 读写记忆困难儿童实战》
- 微信小程序—自定义组件
- Vista不是黄金甲
- 忘记oracle管理员密码了,解决oracle数据库忘记系统管理员密码
- Matlab进行射频TRL校准,如何使用TRL校准方式进行波导校准?
热门文章
- PHP 获取格式化的日期和时间
- PHP中 sprintf()格式化输出详解
- Studio e.go!全游戏 CG100%+回想存档包
- typeScript构建失败:Non-string value passed to `ts.resolveTypeReferenceDirective`
- 【云原生|实战研发】2:Pod的深入实践与理解
- Esp8266 Node Mcu 一直乱码的问题详解
- gen-cpp/.deps/ChildService.Plo: No such file or directory
- oracle sql 常用语句大全,SQL常用语句大全
- python教程马哥_【60集全】全新马哥教育 运维必备python基础语法全讲解_IT教程网...
- excel单元格内换行的方法