zqw's notes
所有文章 分类 标签 关于
zqw's notes
取消
所有文章分类标签关于

Go Singleflight 源码剖析:如何用一行代码防止缓存击穿

Paul 发布于 2021-12-21 收录于 Go

高并发场景下,缓存击穿可能压垮数据库。Singleflight 用极简的设计解决这个问题。

阅读全文
 并发, 缓存, 源码分析

从源码编译 Nginx:理解模块机制与自定义扩展实践

Paul 发布于 2021-12-06 收录于 Linux

大多数人用包管理器安装 Nginx,但自编译才能真正理解它的模块机制。这篇文章以集成 FastDFS 模块为例,深入分析 Nginx 的编译系统和模块化架构。

阅读全文
 Nginx, 编译, 模块化

从崩溃到修复:生产环境 Zookeeper 集群脑裂排查实录

Paul 发布于 2021-10-14 收录于 分布式系统

某天凌晨,Kafka 消息堆积告警。排查发现 Zookeeper 集群出现脑裂,两个节点都认为自己是 Leader。这篇文章记录了完整的排查和修复过程。

阅读全文
 Zookeeper, 排错, 高可用

Go 微服务踩坑实录:从依赖管理到服务治理的 5 个教训

Paul 发布于 2021-09-22 收录于 分布式系统

微服务不是把单体拆开就完了。这篇文章记录了在 Go 微服务项目中踩过的 5 个坑,以及如何避免这些问题。

阅读全文
 Go, GRPC, 排错

手写迷你文件系统:基于 FUSE + Go 实现自定义 FS

Paul 发布于 2021-08-10 收录于 Linux

学习文件系统最好的方式就是自己写一个。本文使用 FUSE + Go,实现一个支持基本读写操作的内存文件系统,过程中深入理解 inode、block 等核心概念。

阅读全文
 文件系统, FUSE, Go

Redis 淘汰策略源码分析:LRU vs LFU vs TTL 的工程权衡

Paul 发布于 2021-07-03 收录于 性能优化

教科书上的 LRU 用双向链表 + HashMap 实现。但 Redis 为什么用"近似 LRU"?这篇文章深入 Redis 源码,分析各种淘汰策略的工程权衡。

阅读全文
 Redis, 缓存, 源码分析
  • 1
  • 2
  • 3
  • 4
2019 - 2026 xxxx | CC BY-NC 4.0 | 
粤ICP备2025410157号 | 公安图标 粤公网安备44030002006969号