分库分表实战:拆分策略、在线迁移、动态扩容与分布式 ID
从容量与并发瓶颈出发,系统梳理垂直拆分、水平分片、路由键、跨分片限制、在线双写迁移、扩缩容和分布式 ID 设计。
Blog
按发布时间倒序排列的全部内容。
从容量与并发瓶颈出发,系统梳理垂直拆分、水平分片、路由键、跨分片限制、在线双写迁移、扩缩容和分布式 ID 设计。
从 Cache-Aside 读写流程出发,分析缓存收益与成本、本地缓存和分布式缓存的边界,并对比 Redis 与 Memcached 的适用场景。
区分缓存雪崩、穿透和热点击穿,系统梳理 TTL 抖动、布隆过滤器、互斥重建、限流降级,以及 Cache-Aside 与数据库一致性的工程方案。
通过四版手写框架理解配置解析、SqlSession、MapperProxy、Executor、StatementHandler、参数映射、结果映射及插件机制。
以最小实现串起 BeanDefinition、BeanFactory、依赖注入、Bean 生命周期、动态代理、三级缓存与 Spring 源码入口。
梳理 Spring Boot 与 Spring 的关系、启动流程、Environment、自动配置、Starter、SPI、事件机制及常见整合原理。
通过三版最小框架理解 DispatcherServlet、HandlerMapping、HandlerAdapter、参数绑定、视图解析与 SpringMVC 源码执行流程。
从容量模型和分层架构出发,系统梳理缓存、消息队列、数据库扩展,以及固定窗口、滑动窗口、漏桶、令牌桶和并发限制的工程实践。
系统分析消息延迟、过期、死信和百万级积压的处理流程,并从协议、存储、索引、副本、消费进度和扩容机制出发设计一个简化消息队列。
从订单业务出发理解消息队列的解耦、异步和削峰价值,分析 MQ 引入的可用性、一致性与运维成本,并对比 Kafka、RocketMQ、RabbitMQ 和 ActiveMQ 的适用场景。
从生产者、Broker 和消费者三个故障边界分析消息可靠性,梳理确认、持久化、副本、重试、幂等、事务消息和局部顺序的工程实现。
从 binlog 复制和路由机制出发,分析读写分离的收益、主从延迟、读后写一致性、故障回退、连接池和生产监控。
从 Redis 单命令原子性出发,梳理事务、WATCH、Lua 和分布式锁的正确边界,并总结 Hot Key、Big Key、慢命令、容量与生产部署治理。
深入剖析 ES 的底层数据结构:倒排索引的构成、Frame of Reference 与 Roaring Bitmap 压缩算法、Trie 前缀树与 FST 有限状态转换机,以及集群分片机制。
通配符查询、正则查询、模糊纠错、前缀匹配、ngram 分词以及 completion suggest 自动补全的完整实践。
从指标聚合到桶聚合、管道聚合和直方图,再到 Painless 脚本处理,完整覆盖 ES 的数据分析能力。
系统梳理 ES 的数据类型与映射、全文搜索与精确查询的异同、自定义分析器的构建方式,以及组合查询与聚合分析的实践用法。
基于极客时间课堂笔记,系统整理 FastDFS 的定位、架构设计、文件上传下载流程、手动部署与 Docker 部署方式,以及 Java 客户端集成。
基于 MongoDB 课堂笔记,整理 MongoDB 的定位、BSON 文档模型、常用命令、聚合管道、WiredTiger 存储引擎、索引与 explain、Spring Boot 接入、复制集和分片集群。
深入 Redis 数据结构的 C 源码实现:SDS 内存分配策略、Dict 渐进式 rehash、ZipList 连锁更新、QuickList 分片压缩、SkipList 多级索引,以及 String/Set/ZSet/Hash 的编码转换规则。
深入 Redis 主从同步的 replid/offset 机制、哨兵的主观/客观下线判定与故障转移流程、分片集群的 16384 个哈希槽路由原理与集群通信模型。
深入剖析 Redis 的 TTL 存储方式、惰性删除与定期删除的协作机制,以及 8 种内存淘汰策略的原理,包括 LRU 和 LFU 在 Redis 中的工程实现细节。
从 Linux 内核 IO 模型出发,深入 select/poll/epoll 的演进和差异,剖析 Redis 为什么单线程还这么快,RESP 协议的二进制编码细节。
深入对比 Redis 两种持久化方式:RDB 的 COW 原理与触发时机、AOF 的写回策略与重写机制、Redis 7.0 Multi Part AOF,以及混合持久化如何兼得二者之长。
覆盖四种高频业务场景的 Redis 实现方案:博客点赞的 Set 去重与 TopN、GEO 坐标搜索的九宫格原理、BitMap 连续签到计算、HyperLogLog 的 UV 统计与误差分析。
基于 Java 设计模式课程体系,梳理七大设计原则、三类设计模式和实际项目中的使用规范。
系统梳理创建型设计模式的使用场景、实现思路和 Java 项目中的落地规范。
梳理结构型设计模式如何组织对象关系,以及它们在 Java 项目中的典型使用场景。
系统梳理行为型设计模式的核心思想,包括模板方法、命令、观察者、状态、策略、职责链等模式。
梳理 JUC 中 Atomic 原子类、CAS 原理与缺陷、Java 锁分类、synchronized 和 JUC 锁对比、AQS 队列以及 ReentrantLock 获取和释放锁流程。
梳理 Java 并发中的线程安全问题、原子性、可见性、有序性、CPU 缓存、Java 内存模型和 happens-before 规则。
梳理 synchronized 的可见性、monitorenter 和 monitorexit、Monitor、锁升级,以及 volatile 的内存屏障、适用场景和原子性缺陷。
梳理 Java 多线程基础,包括进程和线程、并发与并行、线程上下文切换、线程状态,以及 Java 线程到操作系统线程的执行链路。
梳理 Java 并发常用工具,包括 CountDownLatch、Semaphore、CyclicBarrier、Condition、并发容器、阻塞队列、线程池、ThreadLocal 和 Future。
梳理 JVM 基本概念、Java 技术体系、类加载时机、类加载过程、类加载器和双亲委派模型。
梳理 Java 对象创建流程、TLAB、对象进入老年代的条件、对象内存布局、可达性分析、引用类型和常见垃圾收集器。
梳理 JVM 运行时数据区,包括堆、新生代、老年代、虚拟机栈、本地方法栈、方法区、元空间、字符串常量池和直接内存。
梳理 JVM 调优常用工具、JVM 参数、GC 日志分析、堆内存与元空间优化、垃圾收集器选择、OOM 和死锁定位。
梳理 Netty 的定位、Reactor 线程模型、BossGroup 和 WorkerGroup、NioEventLoop、ServerBootstrap、ChannelHandler、Pipeline 和 ChannelFuture。
基于网络编程课程笔记,梳理 Netty 客户端服务端通信、聊天室、Protobuf 编解码、RPC 原理、Client Stub、Server Stub 和动态代理。
梳理手写 Tomcat 容器、Servlet 规范抽象、Netty 请求处理、Disruptor RingBuffer、生产者消费者模型,以及 Netty 与 Disruptor 结合的高性能网络应用思路。
梳理 Java 网络 IO 模型,从 BIO 阻塞通信到 NIO 的 Channel、Buffer、Selector,再到 AIO 的异步模型和适用场景。
基于网络编程课程笔记,梳理网络协议、TCP/IP、TCP 与 UDP、三次握手、四次挥手、URL 请求链路、HTTP 与 HTTPS。
基于项目性能优化课程笔记,梳理性能优化目标、核心指标、JMeter 压测流程、监控平台和梯度压测分析方法。
基于项目性能优化课程笔记,梳理分布式压测、Spring Boot 容器调优、数据库优化、OpenResty、多级缓存和 JVM 调优思路。
基于数据库进阶课程笔记,梳理 MySQL 逻辑架构、日志文件、SQL 执行流程、InnoDB 内存结构、表空间、WAL、Checkpoint 和 Doublewrite。
梳理 MySQL 索引的数据结构、B+ 树、MyISAM 和 InnoDB 索引差异、聚簇索引、辅助索引、联合索引、最左前缀、覆盖索引、ICP 和索引创建原则。
梳理 MySQL 锁体系,包括读写锁、全局锁、表级锁、MDL、自增锁、InnoDB 行锁、记录锁、间隙锁、Next-Key Lock、插入意向锁、意向锁和死锁规避。
基于数据库进阶课程笔记,梳理 MySQL 调优目标、数据库压测、连接池参数、Explain 执行计划、索引优化、LIMIT 和子查询优化、Profile、慢查询日志、连接数、表结构和配置优化。
梳理 MySQL 事务四大特性、并发问题、隔离级别、LBCC、MVCC、Undo Log、Read View、当前读和快照读。
记录从空项目开始搭建个人技术博客的完整过程:内容集合、静态生成、标签归档、RSS、SEO 和 Vercel 部署。
基于 TS + AI 全栈开发流程图,整理一套从技术学习、框架选型、Codex 协作、产品设计、规范驱动到 Gitea 自动交付的 AI 研发流水线。
用 Astro 和 Markdown 建一个轻量、稳定、适合长期维护的个人技术博客。
一篇关于如何组织技术笔记、避免知识散落的简短记录。