我在这部书里,负责编写了Tair章节,合作编写了缓存周边、动手写缓存章节,期间阅读了大量的代码、整理了非常多的资料,希望能带给读者需要的知识。在一年多的时间里,工作之余的大部分时间,都投入到了书的编写中。在这个过程中,家人给了我极大的支持,这里特别感谢我的太太李春花。一年多的时间里,有因为大促工作量激增,有因为工作变动导致工余时间减少,感谢右军持续的鼓励,感谢一同编写本书的其他伙伴及时的帮助!
——刘璟宇 拍拍贷资深架构师
很幸运,从2009年新浪微博发展之初就参与微博平台系统的的研发及架构工作,经历了微博从起步到当前月活用户数亿的大型互联网系统的技术演进过程。系统演进中经历了很多曲折、困难、不眠之夜,多亏了@TimYang、@zhulei、@liudaoru等那么多良师益友,一路上大家志同道合披荆斩棘,回头看经历的种种困难却正好是不断进步的印记。最后感谢@右军的邀请和大力组织,感谢@Mis晓晓的包容和支持,正因为有了你们,我才得以完成相关内容的编写和完善。
——陈波 新浪微博平台架构技术专家
从事数据访问层工作期间,会收到很多缓存方面的技术支持,在支持的同时,对缓存也有了更深入的了解,也促使我思考如何将这些实践经验分享给更多的人。正好右军邀请参与本书的写作,便欣然同意。写作期间,阅读了大量的源码,并和联合作者相互交流缓存的原理及实践经验,力求能够呈现实用的技术。本书涉及的分布式缓存体系非常全面,从分布式、Redis、Memcached等原理的剖析到大量的一线实践案例,并且对分布式缓存应用当中的一些痛点、难点进行了深入的阐述。希望本书能够为想了解缓存技术的读者带来快乐和收益。
——何涛 唯品会架构师
承右军兄邀请,有幸参与本书第11章“Aerospike原理及广告业务应用”的编写。本人虽然在互联网广告行业摸爬打滚十余年,从广告网络到SSP、DSP,再到苹果应用市场的推广(ASO,ASM),从PC广告到移动原生广告都有所涉及。对于广告系统架构搭建(存储,计算,缓存)以及系统的高可用较熟悉之外,对于写书确实是赶鸭子上架头一回。又由于平时工作繁忙,家里琐碎事情亦多,几有放弃之念想,但此事绝非君子所为。若如此辜负右军兄及其他几位一同写书的弟兄,于心不忍,日后亦无颜面对他们。故硬着头皮,把此章写完并交付出版社。听闻此章定稿之后,感觉如释重负,精神亦有所高涨。当然,能够坚持下去的另一个重要原因是,其他各位参与编写本书的弟兄的鞭策和鼓励。在这里要特别感谢右军和老曹。由于本人水平有限,还望各位亲爱的读者海涵。
——宋慧庆 勤诚互动高级架构师
首先非常感谢右军兄邀请我加入写作团队,我主要负责第3章、第4章,同此参与合作编写了第6章。虽然我自己经常写一些博客文章,但是写书和写博客是完全不一样的过程,写书是要能够带领读者逐步深入学习,而不是简单地将知识点罗列出来。在这个过程中非常感谢右军和孙海亮对我进行认真的指导,让我的写作水平有了非常大的提高。当我第一篇稿子定稿的时候,我内心的成就感是很难用言语来表达的。由于本书的写作时间周期比较长,在中途的过程中由于工作繁忙,我也曾经有退出的想法,右军和曹哥给了我巨大的鼓励,让我学会了坚持,同时我的妻子和我的父母也给了我巨大的支持,让我能够学会与团队协作。对于我来讲这本书对我的意义已经超过内容本身的范畴,我也希望通过这本书能够给我的孩子树立一个贵在坚持和勇于尝试的榜样。最后由于本人写作水平有限,还请各位读者朋友海涵和包容。
——程超 爱农驿站首席支付技术专家
Web应用相对于传统的软件,在服务的吞吐量方面有更高的要求,也是其面临的主要难点之一。对于无状态的应用服务,日益增加的吞吐量最终转化成存储层的压力,使得后者既要解决数据一致性问题,又要考虑性能和吞吐量,成为Web应用性能的关键,因此已有的文档和书籍主要聚焦在它的优化上。
而缓存作为应用服务节点和持久化存储节点间的辅助层,分担着后者的吞吐量需求,好的缓存设计可以极大地降低存储层的容量风险。本书从缓存的原理、实现到缓存在不同场景的实施方案给出系统化的介绍,为“好的缓存设计”提供了指导。因此在受邀参与本书编写时,既感到荣幸,又感到意义重大。
好的写作依赖于热情和投入,而书籍的编写又需要长时间的毅力和坚持,这让本书的编写像是一段长跑里需要不断冲刺,也让这份“意义重大”既是之于内容本身,也是之于作者的自我提升。感谢本书主笔于君泽的坚持,也感谢其他每一位作者的投入,他们鞭策着我在此领域学习和思考。限于自己的水平,谨希望所编写的章节能为读者们带来一点帮助。内容有欠缺之处,也希望读者批评指教,以此驱动这个领域的应用和实践持续演进。
——邱硕 蚂蚁金服技术专家
作为一个70后的老码农,一个半吊子全栈工匠,在中生代技术(freshman Technology)社区有幸认识了很多志同道合的技术人。因为自己在公众号(wireless_com)上的一篇关于缓存基础的随笔而结识了@右军,进而参与了本书的创作。在如今用户体验至上的时代,性能成为系统设计中的一种核心约束,在性能提升的各种技术手段中,缓存为王。随着技术的演进,缓存同样与时俱进。参与编写的过程是一个对经验梳理的过程,同时也是一个人提升的过程,尤其是和各位作者的切磋,获益匪浅。每一位作者都牺牲了大量的闲暇时间,为本书的出版付出了巨大的努力。我感谢自己的妻儿,感谢家人对自己的支持,希望这本书能够不负众望。
——曹洪伟 渡鸦科技CTO
2014年加入京东后,负责重新设计详情页架构,它是一个读服务,从前端浏览器到后端存储无处不用缓存,在实战中通过运用大量缓存技术提升性能、解决棘手问题,比如618期间有人来刷你的接口,简单上个缓存,会起到很大的保护作用,而且效果非常好。在运用缓存时有许多需要注意的地方,比如缓存一致性是否需要强一致;价格库存数据能否缓存,缓存多久;缓存分布算法是使用一致性哈希还是取模算法;热点数据怎么处理;缓存崩溃与快速恢复等等。要用好缓存并不是那么容易的,希望读者看完本书后能学到一招半式并应用到实战中。
——张开涛 京东架构师
缓存在整个高并发架构设计中是重中之重的关键一笔,所以用好缓存是每次架构设计的必经之路。感谢右军邀请我参与本书。我在本书中介绍了同程旅游的凤凰缓存系统(phoenix)是如何云化管理同程全部的缓存集群,并治理各应用中的缓存使用的。也讲述了一些我们为何要开发phoenix来解决缓存问题的坑事。回首这些坑事,历历在目。各种困难、各种痛苦伴随着凤凰缓存系统从构想到多个版本的更新上线。希望本书能够给踩到同样坑事的读者带来帮助和快乐。
——王晓波 同程旅游首席架构师