一:大型网站架构系列
第一本:《大型网站技术架构:核心原理与案例分析》
这本书主要从大型网站架构的特点,架构目标(高性能,高可用,可伸缩等)基本理论讲起,并介绍了几个很有特色的案例。
第二本:《大型网站系统与Java中间件实践》
同样出自阿里。
此书对分布式系统的演进做了较好的介绍。对常用中间件(服务框架,数据访问层,消息中间件)做了比较深入的讲解,原理到实践都有了。
第三本:《大型分布式网站架构设计与实践》
本书也出自阿里系。
对面向服务的架构,分布式基础设施(缓存,持久化,消息系统,搜索引擎(lucence,solr)),互联网安全架构,系统稳定性,数据分析等做了较好的讲解。
以上三本书,都出自阿里系,有理论有实践,如果要学到知识,还需要多读,多想,多实践。
第四本:《Web信息架构——设计大型网站》
可以较系统的建立网站信息架构设计的思想。对思考如何设计一个大型网站比较有帮助。
第五本:《高性能网站建设》
对web前端架构做了非常好的讲解。
注意此处的前端不只是 JS,CSS,HTML,是指业务逻辑层之前的部分,包括缓存,DNS等。
第六本:《实用负载均衡技术:网站性能优化攻略》
本书较详细的介绍了负载均衡,缓存代理等知识,对系统了解负载均衡技术有帮助。
第七本《高性能网站构建实战》,建议运维人员可以参考。
里面介绍了LVS+KeepAlived实现高可用集群,高性能负载均衡器HAProxy,经久不衰的Squid,高性能缓存服务器Varnish,Ngnix等,里面有大量的安装脚本,因此建议运维或想了解如何部署的参考学习。
二:分布式系统系列
第一本:《从Paxos到Zookeeper:分布式一致性原理与实践》
对于了解分布式和Zookeeper很有帮助。内容有一致性协议,2PC,3PC,Paxos算法,Paxos的工程实践,Zookeeper的安装使用, ZooKeeper的典型应用场景等。
本书也出自阿里系。
第二本:《ZeroC Ice权威指南》
对于学习Zeroc Ice很有帮助。Zeroc Ice是与dubbo类似的一套框架。可以实现RPC和服务治理。
第三本:《Kubernetes权威指南:从Docker到Kubernetes实践全接触》
是介绍Docker和Kubernetes比较不错的一本书。
第四本:《大规模分布式存储系统:原理解析与架构实战》
对了解分布式存储有一定的帮助。
从单机存储到分布式存储,事务,并发控制等。对常用的分布式存储系统,键值系统,表格系统,分布式数据库等有较好介绍。理论和实践都有,如果自己没实际去思考去做,都可以归为理论。
三:BAT技术系列
第一本:《淘宝技术这十年》
生动形象的介绍了淘宝从小到大的技术发展历程,对思考技术发展有较好的帮助。
第二本:《京东技术解密》
可以作为参考吧,总体来看,《淘宝技术这十年》质量和内容上更好一些。
第三本《华为研发》
此书对华为技术的发展和管理变革有一定了解,从而指导自己对技术管理进行一些改进。
四:架构设计系列
第一本:《研磨设计模式》
这本书详细对GOF设计模式进行了讲解。
设计模式讲的比较细致,透彻。
第二本:《面向对象葵花宝典》
对理解面向对象思想有一些帮助。对面向对象理解做了较到位的描述。
第三本:《.NET应用架构设计:原则、模式与实践》,不过这本是NET写的。
对常用的架构模式做了介绍。比如N层设计,业务层设计,逻辑层设计,服务层设计,数据层设计等。对了解各层的设计方法有不错的帮助。
第四本:《Microsoft .NET企业级应用架构设计》,与《NET应用架构设计:原则、模式与实践》
想对应的是本书也是从业务层,服务层,等进行架构模式的架构。
讲解的方式有点不同,虽然是NET语言的,但是对Java或其他语言都有帮助。比如:假如一个人说MVC是设计模式,你就懂的MVC是架构模式。
最后,再给大家分享一本架构的书。原因是技术积累会成为类库,类库逐渐会变为框架。一个人架构设计的能力,很大程度体现在框架设计方面。
第五本:《架构探险:从零开始写Java Web框架》
本书从零开始,介绍了如何搭建一个web框架。bean实现,aop实现等,对设计框架和封装模块有一定的帮助。
以上,重点从大型网站架构系列、分布式系统系列、BAT技术系列、架构设计系列推荐了相关的书籍。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》