摘要: Kafka 的 精确一次性语义(Exactly-Once Semantics) 是指消息从生产者发送到消费者处理的全链路中,每条消息只会被处理且仅处理一次,既不会丢失,也不会重复,是 Kafka 消息传递语义中最高级别的可靠性保证。 为什么需要精确一次性语义? 在分布式系统中,消息传递可能因网络故障 阅读全文
posted @ 2025-07-17 13:52 认真的刻刀 阅读(48) 评论(0) 推荐(1)
摘要: 是的,这是 Kafka Consumer 中典型的“消息丢失”场景——auto commit(自动提交)触发时,即使消息未处理完成,offset 也会被提交,导致未处理的消息被视为“已消费”,后续无法重新拉取。 具体过程拆解: 假设 Consumer 配置了 enable.auto.commit=t 阅读全文
posted @ 2025-07-17 10:22 认真的刻刀 阅读(75) 评论(0) 推荐(0)
摘要: 是的,如果消息仅写入 Page Cache(未刷盘)时 Broker 崩溃,消息会丢失。 核心原因:Page Cache 的本质是“内存缓存”,不具备持久化能力 Page Cache 是操作系统的内存级缓存,数据存储在内存中。而内存的特性是“断电/进程崩溃后数据丢失”——当 Broker 进程崩溃或 阅读全文
posted @ 2025-07-17 10:11 认真的刻刀 阅读(18) 评论(0) 推荐(0)
摘要: Kafka 的高性能和百万级吞吐量主要得益于其分布式架构设计、顺序磁盘读写、零拷贝技术、批处理优化以及分区并行机制。以下从技术细节展开分析,并对比其他消息队列(如 RabbitMQ、RocketMQ)的差异: 一、顺序磁盘读写:利用磁盘顺序读写的极致性能 传统消息队列痛点:随机读写导致磁盘寻道时间长 阅读全文
posted @ 2025-07-15 17:07 认真的刻刀 阅读(103) 评论(0) 推荐(0)
摘要: JavaScript(包括 TypeScript)的异步机制和 Java 的同步方法执行逻辑有本质差异,核心原因在于:JS 是单线程异步非阻塞模型,而 Java 多线程下的普通方法默认是同步阻塞的。 一、先明确核心差异:同步 vs 异步 场景 Java 普通方法(同步) JS 异步操作(如 Prom 阅读全文
posted @ 2025-07-08 20:53 认真的刻刀 阅读(14) 评论(0) 推荐(0)
摘要: MVCC是通过 Read View(读视图) 和 undo 日志 的协同配合,实现了事务隔离级别的核心功能(尤其是读已提交和可重复读)。两者的分工和协作关系可以总结为: 1. undo 日志:提供“历史版本”的物理基础 undo 日志记录了数据被修改前的旧值,每次事务对数据执行 INSERT/UPD 阅读全文
posted @ 2025-07-04 13:46 认真的刻刀 阅读(41) 评论(0) 推荐(0)
摘要: MySQL Binlog 基础:配置与使用指南(非DBA视角) 一、Binlog 是什么? Binlog(二进制日志)是 MySQL 的核心日志之一,记录数据库所有变更操作(如 INSERT、UPDATE、DELETE),用于主从复制、数据恢复和审计。 核心作用: 主从复制:从库通过读取主库的 bi 阅读全文
posted @ 2025-07-03 21:25 认真的刻刀 阅读(36) 评论(0) 推荐(0)
摘要: 解决N+1问题的实用方案与最佳实践 N+1问题的核心解决方案是减少SQL查询次数,将多次单对象查询合并为批量查询。以下是基于不同场景的具体解决方法: 一、立即加载(Eager Loading) 原理:通过JOIN在主查询中直接加载关联数据,避免后续单独查询。 适用场景:关联数据量小且每次查询都需要的 阅读全文
posted @ 2025-07-01 15:26 认真的刻刀 阅读(187) 评论(0) 推荐(0)
摘要: N+1问题的根本原因与通俗示例解析 一、根本原因:ORM的「对象思维」与数据库「集合思维」的冲突 ORM的设计逻辑: 以对象为中心,关联对象默认「懒加载」(用到时才查询)。 例如:查询用户时,不主动查询用户的订单,直到代码访问user.getOrders()。 数据库的执行逻辑: 以SQL为中心,擅 阅读全文
posted @ 2025-07-01 15:25 认真的刻刀 阅读(260) 评论(1) 推荐(1)
摘要: 在JDK 9及之后版本引入模块化系统(Project Jigsaw)后,即使项目未显式使用模块化特性,仍能正常运行的原因与Java模块化设计的兼容性机制密切相关。以下从技术原理、JDK处理逻辑和实际场景等方面详细解释: 一、JDK 11的模块化兼容性设计:自动模块与类路径的兼容模式 1. 类路径(C 阅读全文
posted @ 2025-06-19 16:08 认真的刻刀 阅读(79) 评论(0) 推荐(0)