2019 年读书清单:京东技术解密与 Redis 设计与实现
2019 年 6 月 14 日记。度过了有那么一段时间的晃荡,人渐渐能沉下心,读一些书。这年的书单就两本,都是技术书,一本看体系、一本钻单点。
京东技术解密
京东技术团队出的书,讲的是一家电商平台的技术体系全景:从早期 .NET 单体到 Java 化、服务化拆分,到订单履约链路、大促保障(618 的流量洪峰怎么扛)、多端架构和基础设施工程化。
读这类书的价值不在「学会某个技术」,而在看到一组真实约束下的取舍——万亿级订单、秒级峰值、库存的强一致性要求,这些业务约束如何一层层传导到架构选择上。单个技术点网上都有资料,但「为什么在那个节点做了那个选择」的完整语境,只有这种体系化的书能给。
Redis 设计与实现
黄健宏的这本(机械工业出版社)是 Redis 深入的标配读物。当年用 Redis 已经好几年,队列、缓存、计数器都做过,但停留在 API 层。这本书往下挖了一层:
- 五大数据结构的底层实现:SDS 字符串、跳表、压缩列表、整数集合——ZSet 为什么用跳表不用红黑树、List 什么时候从 ziplist 转换成 linkedlist,答案都在数据结构设计里;
- 单线程事件循环为什么够快:纯内存 + IO 多路复用 + 无锁;
- 持久化的两条路:RDB 快照与 AOF 追加,各自的代价与恢复路径;
- 过期删除与内存淘汰:惰性删除加定期删除的组合策略。
读完最大的变化是排查问题有了地图:内存涨了知道往淘汰策略查,延迟抖动知道看 AOF 刷盘,主从不一致知道查复制积压队列。会用一个中间件和懂一个中间件,遇到问题时差距就出来了。
写在后面
多积累,把这个世界交给别人,我真的不放心啊。
——这句话从 2018 年的书单一路写到这里,已经成为每年书单的固定结语,也是读书这件事在我这里最诚实的理由。