每日八股

简介: Day05:掌握RabbitMQ消息不丢失的三大机制——生产者确认、消息持久化、消费者确认;了解延迟消息实现及消息积压解决方案,并探讨MyBatis核心知识点。

Day05

每日必会
怎么确保消息不丢失

面试官这个问题我们生产还真遇到过,后面也去了解了一下,我们用的是RabbitMQ,它本身是有生产者确认机制、MQ消息持久化和消费者确认机制三个保证的,如果面试官还想再了解深一点我可以再展开一下。
生产者确认机制就是给每个消息指定一个唯一ID,当消息发送到MQ之后会有一个结果返回给发送者,如果是消息未投递到交换机就返回publish-confirm的nack,如果到了交换机但是没到队列就返回publish-return的ack,从而保证消息是百分百存储到消息队列中。
消息持久化就比较简单,因为RabbitMQ本身就做了队列持久化、消息持久化、交换机持久化,所以它本身是没有问题的。
消费者确认机制是通过消费者回执来确认消费者是否成功处理消息的:消费者获取消息后,应该向RabbitMQ发送ACK回执,表明自己已经处理消息。有三种配置方式:
•manual:手动ack,需要在业务代码结束后,调用api发送ack。
•auto:自动ack,由spring监测listener代码是否出现异常,没有异常返回ack;抛出异常返回nack
•none:关闭ack,MQ假定消费者获取消息后会成功处理,因此消息投递后立即被删除
我们项目中采用的事auto+重试次数来配置解决的

了解过MQ的延迟消息吗

了解过的面试官,他是可以通过基于消息的延迟发送或者基于消息队列的延迟消费,前者就是给消息设置一下TTL时间,后者我们是通过安装一个DelayExchange的插件来解决的。
过去我们是在一些取消超时订单的业务场景下有实施过这个解决方案

怎么解决消息挤压呢

可以通过
增加更多消费者,提高消费速度。也就是我们之前说的work queue模式(或者多线程同理)
扩大队列容积,提高堆积上限

理论专项
MyBatis
#和&区别
一级/二级缓存
一条SQL执行流程

相关文章
|
5月前
|
XML 算法 安全
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景中的准确性与可控性。分块策略是其核心,直接影响检索效率与回答质量。本文系统解析固定大小、语义、递归、基于结构和LLM的五种分块方法,对比优缺点及适用场景,并探讨RAG在知识关联、多模态理解等方面的前沿挑战与优化路径。
418 0
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型专业名词解释手册
本文系统介绍了大语言模型(LLM)的核心概念、训练方法、优化技术、应用模式及伦理问题,涵盖Transformer架构、注意力机制、预训练与微调、提示工程、模型压缩、安全对齐等关键技术术语,全面解析大模型的工作原理与发展挑战,助力深入理解生成式AI的技术脉络与未来方向。
701 0
|
5月前
|
人工智能 自然语言处理 API
全面认识MCP:大模型连接真实世界的“USB-C接口”
MCP(模型上下文协议)是Anthropic推出的开放标准,旨在打通大模型与外部工具、数据源的连接壁垒,被誉为AI时代的“USB-C接口”。它通过统一的协议规范,实现AI智能体对各类工具的即插即用,简化开发流程,提升任务执行效率,推动AI应用向自动化、生态化演进。
595 0
全面认识MCP:大模型连接真实世界的“USB-C接口”
|
5月前
|
消息中间件 人工智能 NoSQL
RocketMQ:A2A协议实现多智能体优化
Apache RocketMQ推出专为AI场景设计的轻量级通信模型LiteTopic,通过百万级队列支持海量会话,并结合A2A协议与AgentScope框架,实现多智能体高效、可靠的异步协作,重塑企业级AI应用通信架构。
209 0
RocketMQ:A2A协议实现多智能体优化
|
5月前
|
负载均衡 算法 Java
5-微服务篇
本文详解SpringBoot自动装配原理、启动流程、核心注解@SpringBootApplication组成,以及常用起步依赖、配置文件加载顺序。涵盖SpringBoot运行方式、跨域解决方案,结合SpringCloud介绍五大组件、微服务通信、注册发现、负载均衡策略及自定义方法。同时分享项目中限流、熔断、降级、异常处理等实战经验,全面解析微服务架构关键技术实现。
228 0
|
5月前
|
架构师 Java 数据库
Java开发进阶:从初级工程师到架构师的能力提升路径
本文系统梳理Java开发者从初级工程师到架构师的成长路径,涵盖各阶段技术能力要求与提升方向,强调基础夯实、架构设计、业务理解及软实力培养,为职业进阶提供清晰指引。
313 2
|
5月前
|
人工智能 安全 网络安全
Fortinet FortiGate Firmware (FortiOS 7.6.5) 全系列下载 - 下一代防火墙 (NGFW)
Fortinet FortiGate Firmware (FortiOS 7.6.5) 全系列下载 - 下一代防火墙 (NGFW)
411 0
Fortinet FortiGate Firmware (FortiOS 7.6.5) 全系列下载 - 下一代防火墙 (NGFW)
|
5月前
|
人工智能 自然语言处理 语音技术
AI数字人企业全域技术新排行
数字人企业生态圈全景解析:从像衍科技全栈自研突破,到BAT等巨头布局,涵盖技术、应用与商业变革。揭秘虚拟偶像、数字员工如何重构产业逻辑,推动AI与实体经济深度融合。
|
12月前
|
机器学习/深度学习 人工智能 监控
什么是信息化?什么是数字化?这两者有什么联系和区别?
本文探讨了信息化与数字化的概念、联系及区别。信息化是将线下业务流程线上化,提升效率;数字化则基于大数据和新技术优化企业运营模式,重构商业逻辑。两者层层递进,信息化为基础,数字化为升级。文中通过实例对比二者在理念、方法、数据应用等方面差异,并强调数字化转型需明确目标,借助低代码等工具实现能力重构,推动企业全价值链连通与效率提升。总结指出,真正的转型是能力的全面提升,而非单纯技术替换。
|
9月前
|
人工智能 搜索推荐 数据挖掘
小红书电商 API 开启小红书店铺电商内容营销新范式
小红书电商 API 为商家提供自动化运营与内容营销新范式,支持商品管理、批量发布 UGC、数据分析等功能,提升效率、降低成本,助力品牌实现精准营销与用户深度互动。
362 5

热门文章

最新文章