【面试八股|RabbitMQ】RabbitMQ常见面试题详解笔记
这里根据个人说话口吻等编写Spring常见面试题用于记录复习后续会持续更新补充欢迎点赞收藏。消息队列常见消息队列对比RabbitMQActiveMQRocketMQKafka公司/社区RabbitApache阿里Apache开发语言ErlangJavaJavaScalaJava协议支持AMQPXMPPSMTPSTOMPOpenWire,STOMPREST,XMPP,AMQP自定义协议自定义协议可用性高一般高高单机吞吐量一般差高非常高消息延迟微秒级毫秒级毫秒级毫秒以内消息可靠性高一般高一般追求可用性Kafka、 RocketMQ 、RabbitMQ追求可靠性RabbitMQ、RocketMQ追求吞吐能力RocketMQ、Kafka追求消息低延迟RabbitMQ、Kafka说说workqueues模型指多个消费者共同处理消息大大提高工作效率了。默认为能者多劳但可以通过.yml配置prefetch修改。队列和交换机声明方式1.RabbitMQ控制台创建。2.程序编写编程式注入成Bean注解式RabbitListenerRabbitMQ有哪些核心组件1.生产者交换机队列消费者虚拟主机2.交换机分为四类Direct直连Fanout广播Topic主题Headers头3.其中fanout忽略路由键广播所有绑定的队列。Direct通过路由键与绑定键的匹配实现点对点通信。Topic通过通配符实现规则绑定惰性队列是什么为避免内存消息堆积导致存入磁盘的pageout阻塞出现了lazyqueue。LazyQueue接受消息直接存入磁盘而非内存支持懒加载可存储百万条消息。RabbitMQ的消息可靠性可以从生产者发送消息到mq可靠性mq存储消息可靠性消费者处理消息可靠性三方面入手生产者可靠性1.生产者确认机制通过.yml与全局的returncallback配置类局部的ConfirmCallback开启Publisher Confirm与Publisher Return机制。2.生产者重试机制修改.yml文件超时时间重试次数等MQ可靠性1.数据持久化交换机队列消息持久化消费者可靠性1.消费者确认机制acknackreject消息处理失败并拒绝该消息RabbitMQ从队列中删除该消息2.消费者重试机制修改.yml文件的重试次数等待时长等3.失败处理策略实现MessageRecovery接口RabbitMQ消息重复消费如何解决1.开启消费者自动确认机制但仍可能出现服务确认前宕机重启后再次消费的情况。2.通过业务唯一id检查数据库数据是否存在避免重复被消费3.可通过分布式锁避免两条消息同时被消费的情况说说RabbitMQ的延迟消息1.有两种实现方式死信交换机TTL和延迟消息插件2.当消息超时未被消费成为死信队列可绑定到死信交换机再传递给其它队列被处理实现延迟功能3.通过安装DelayExchange插件指定死信交换机与超时时间实现延迟功能数百万消息存在mq怎么解决1.使用惰性队列存储到磁盘中2.提高消费者能力使用多个消费者多线程

相关新闻

Tauri vs Electron一篇尽量“把话说满”的客观对比

Tauri vs Electron一篇尽量“把话说满”的客观对比

1. 读者定位:你为什么需要这篇对比 如果你正在做下面任意一种应用,这篇文章会更有用: “桌面端 Web 技术栈”的产品化应用:工具类、IM、编辑器、企业中台客户端、数据分析客户端你要在 Windows/macOS/Linux 上交付可安装包&…

2026/7/3 16:30:32 阅读更多 →
大模型开发8步详解:小白也能轻松入门,掌握Prompt工程开启高薪AI之路

大模型开发8步详解:小白也能轻松入门,掌握Prompt工程开启高薪AI之路

本文详细介绍了大模型开发的8个关键步骤,包括确定目标、设计功能、搭建架构、数据库构建、Prompt工程、验证迭代、前后端开发及体验优化。文章强调大模型开发的核心在于Prompt设计和业务逻辑实现,而非模型优化,适合初学者和实践者参考。 文章…

2026/5/17 5:07:49 阅读更多 →
30:【uv + torch】2026最快安装GPU PyTorch  避开conda坑

30:【uv + torch】2026最快安装GPU PyTorch 避开conda坑

作者: HOS(安全风信子) 日期: 2026-01-01 主要来源平台: GitHub 摘要: 本文详细分析2026年使用uv和torch快速安装GPU版本PyTorch的方法,以及如何避开conda的常见问题。文章提供了完整的安装指南、性能对比、常见问题解…

2026/7/3 16:32:57 阅读更多 →

最新新闻

129、轻量化 Head 设计:用 Depthwise Conv 加 1×1 Conv 替代标准检测头卷积

129、轻量化 Head 设计:用 Depthwise Conv 加 1×1 Conv 替代标准检测头卷积

129、轻量化 Head 设计:用 Depthwise Conv 加 1乘1 Conv 替代标准检测头卷积 从一次显存爆炸说起 去年秋天调一个YOLOv11n的工业检测模型,输入分辨率压到640640,batch size设到32,结果RTX 3090直接OOM。排查半天,发现检测头三个分支的卷积层占了将近40%的参数量。当时项目…

2026/7/6 5:32:38 阅读更多 →
5分钟解放双手:League Akari - 英雄联盟玩家的本地化智能助手终极指南

5分钟解放双手:League Akari - 英雄联盟玩家的本地化智能助手终极指南

5分钟解放双手:League Akari - 英雄联盟玩家的本地化智能助手终极指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为游戏中…

2026/7/6 5:30:38 阅读更多 →
AI Agent 链上操作:签名之前先生成可验证计划

AI Agent 链上操作:签名之前先生成可验证计划

AI Agent 链上操作:签名之前先生成可验证计划 一、Agent 不能直接替用户签名 AI Agent 能帮用户分析资产、构造交易、调用合约、提交治理提案。但链上操作一旦签名,就具备真实资产和权限后果。让 Agent 直接决定并发起签名,是非常危险的设计。…

2026/7/6 5:28:37 阅读更多 →
League-Toolkit终极指南:英雄联盟玩家的智能助手与效率神器

League-Toolkit终极指南:英雄联盟玩家的智能助手与效率神器

League-Toolkit终极指南:英雄联盟玩家的智能助手与效率神器 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Toolkit是一款基…

2026/7/6 5:28:37 阅读更多 →
3个关键设计如何让一个API征服六大音乐平台?

3个关键设计如何让一个API征服六大音乐平台?

3个关键设计如何让一个API征服六大音乐平台? 【免费下载链接】listen1-api One API for all free music in China 项目地址: https://gitcode.com/gh_mirrors/li/listen1-api 还在为音乐应用开发中对接多个平台API而头疼吗?面对网易云音乐、QQ音乐…

2026/7/6 5:26:37 阅读更多 →
AI 内容风格控制:风格一致不能牺牲事实边界

AI 内容风格控制:风格一致不能牺牲事实边界

AI 内容风格控制:风格一致不能牺牲事实边界 一、风格不是唯一目标 AI 内容生成常要求风格一致:更活泼、更专业、更像品牌语气。但如果为了风格牺牲事实边界,内容会变得危险。产品介绍、技术文档、行业报告、新闻摘要,都不能只追求…

2026/7/6 5:26:37 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻