Go Singleflight 源码剖析:如何用一行代码防止缓存击穿
高并发场景下,缓存击穿可能压垮数据库。Singleflight 用极简的设计解决这个问题。
高并发场景下,缓存击穿可能压垮数据库。Singleflight 用极简的设计解决这个问题。
大多数人用包管理器安装 Nginx,但自编译才能真正理解它的模块机制。这篇文章以集成 FastDFS 模块为例,深入分析 Nginx 的编译系统和模块化架构。
某天凌晨,Kafka 消息堆积告警。排查发现 Zookeeper 集群出现脑裂,两个节点都认为自己是 Leader。这篇文章记录了完整的排查和修复过程。
微服务不是把单体拆开就完了。这篇文章记录了在 Go 微服务项目中踩过的 5 个坑,以及如何避免这些问题。
学习文件系统最好的方式就是自己写一个。本文使用 FUSE + Go,实现一个支持基本读写操作的内存文件系统,过程中深入理解 inode、block 等核心概念。
教科书上的 LRU 用双向链表 + HashMap 实现。但 Redis 为什么用"近似 LRU"?这篇文章深入 Redis 源码,分析各种淘汰策略的工程权衡。