进阶Java架构师必看的15本书
1、⼤型⽹站技术架构:核⼼原理与案例分析
本书通过梳理⼤型⽹站技术发展历程,剖析⼤型⽹站技术架构模式,深⼊讲述⼤型互联⽹架构设计的核⼼原理,并通过⼀组典型⽹站技术架构设计案例,为读者呈现⼀幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的⼤型⽹站开发全景视图。
本书作者李智慧,曾在阿⾥巴巴担任技术专家,参与阿⾥巴巴基础技术平台开发和架构设计。
2、分布式服务框架原理与实践
微服务是当前⾮常热的技术关键词之⼀,那么微服务如何落地呢?⾸先要实现服务化,微服务架构是⼀种服务化架构风格。⾸先分析了作为⼀个分布式服务框架所需具备的能⼒,包括服务注册中⼼、服务调⽤、服务路由、服务发布/灰度发布等;接着分析了服务底层如何有效地进⾏通信,包括通信框架、序列化/反序列化及协议栈等;然后分析了服务如何做到⾼可靠性及⾼安全性等重要特性;最后也阐述了从服务化如何向微服务演进。⼲货满满!
作者李林锋多年来在华为⼀直从事核⼼代码的架构设计和开发,属于实战型架构师,这本书集合了他多年的架构思路,书中内容组织清晰,图例详实,⾮常便于理解与吸收。
3、互联⽹创业核⼼技术:构建可伸缩的web应⽤
可伸缩架构技术是所有互联⽹技术中最重要,也是最引⼈⼊胜的技术。《互联⽹创业核⼼技术:构建可伸缩的web应⽤》针对互联⽹创业需求快速迭代,业务快速发展,短时间内⽤户、数据、访问量激增的特点,提纲挈领地描述了伸缩性架构的基本原理与设计原则,详细阐述了Web应⽤前端层、服务层、数据层的可伸缩架构,并花⼤量篇幅讲述了缓存技术和异步处理技术的可伸缩设计及其在Web系统中的具体应⽤。
《互联⽹创业核⼼技术:构建可伸缩的web应⽤》⾯向互联⽹创业公司⼯程师,也适⽤于所有互联⽹⾏业的⼯程师,对⾮互联⽹⾏业的软件⼯程师也有借鉴作⽤。事实上,《互联⽹创业核⼼技术:构建可伸缩的web应⽤》适合所有对可伸缩架构有兴趣的软件技术⼈员阅读。
4、⾼扩展性⽹站的50条原则
《⾼扩展性⽹站的50条原则》给出了设计⾼扩展⽹站的50条原则,如不要过度设计、设计时就考虑扩展性、把⽅案简化3倍以上、减少DNS 查、尽可能减少对象等,每个原则都与不同的主题绑定在⼀起。⼤部分原则是⾯向技术的,只有少量原则解决的是与关键习惯和⽅法有关的问题,当然,每个原则都对构建可扩展的产品⾄关重要。
5、架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)
任何⼀个持续成长的公司最终都需要解决系统、组织和流程的扩展性问题。本书汇聚了作者从eBay、VISA、Salesforce到Apple超过30年的丰富经验,全⾯阐释了经过验证的信息技术扩展⽅法,对所需要掌握的产品和服务的平滑扩展做了详尽的论述,并在第1版的基础上更新了扩展的策略、技术和案例。
针对技术和⾮技术的决策者,马丁•阿伯特和迈克尔•费舍尔详尽地介绍了影响扩展性的各个⽅⾯,包括架构、过程、组织和技术。通过阅读
本书,你可以学习到以最⼤化敏捷性和扩展性来优化组织机构的新策略,以及对云计算(IaaS/PaaS)、NoSQL、DevOps和业务指标等的新见解。⽽且利⽤其中的⼯具和建议,你可以系统化地清除扩展性道路上的障碍,在技术和业务上取得前所未有的成功。
6、系统架构:复杂系统的产品设计与开发
本书由系统架构领域3位领军⼈物亲笔撰写,该领域资深专家Norman R.Augustine作序推荐,Amazon全五星评价。
本书⾸先讲解了什么是系统,什么是系统架构,并从形式和功能两个⽅⾯讲解了如何分析系统。之后开始讲解如何创建良好的系统架构。在将概念演化为架构的过程中,架构师需要对系统进⾏分解,以
看清这些组件的结构以及它们之间的交互情况,因此需要根据⼀些衡量指标来构建权衡空间,以便使⽤优化算法出优势较⼤的架构。
7、Java性能优化权威指南
Java性能优化圣经!Java之⽗重磅推荐!
本书由曾任职于Oracle/Sun的性能优化专家编写,系统⽽详细地讲解了性能优化的各个⽅⾯,帮助你学习Java虚拟机的基本原理、掌握⼀些监控Java程序性能的⼯具,从⽽快速到程序中的性能瓶颈,并有效改善程序的运⾏性能。
Java性能优化的任何问题,都可以从本书中到答案!
8、⼤规模分布式存储系统:原理解析与架构实战
阿⾥巴巴⾼级技术专家(OceanBase核⼼开发⼈员)撰写,阳振坤、章⽂嵩、杨卫华、汪源、余锋(褚霸)、赖春波等来⾃阿⾥、新浪、⽹易和百度的资深技术专家联袂推荐。
系统讲解构建⼤规模存储系统的核⼼技术和原理,详细分析Google、Microsoft和阿⾥巴巴的⼤规模分布式存储系统的原理。
实战性强,通过对阿⾥巴巴的分布式数据库OceanBase的实现细节进⾏深⼊分析,完整讲解了⼤规模分布式存储系统的架构⽅法与应⽤实践。
9、⼤规模分布式系统架构与设计实战
本书从作者的实战经验出发,深⼊浅出地讲解了如何建⽴⼀个Hadoop那样的分布式系统,实现对多台计算机CPU、内存、硬盘的统⼀利⽤,从⽽获取强⼤计算能⼒去解决复杂问题。⼀般互联⽹企业的分布式存储计算系统都是个⼤平台,系统复杂、代码庞⼤,⽽且只适合公司的业务,⼯程师很难下载安装到⾃⼰的电脑⾥学习和吃透。
本书对分布式核⼼技术进⾏了⼤量归纳和总结,并从中抽取出⼀套简化的框架和编程API进⾏讲解,⽅便⼯程师了解分布式系统的主要技术实现。这不是⼀本空谈概念、四处摘抄的书,这本书包含了⼤量精炼⽰例,⼿把⼿教你掌握分布式核⼼技术。
10、企业IT架构转型之道:阿⾥巴巴中台战略思想与架构实战
在当今整个中国社会都处于互联⽹转型的浪潮中,不管是政府职能单位、业务规模庞⼤的央企,还是⾯临最激烈竞争的零售⾏业都处于⼀个重要的转折点,这个转折对企业业务模式带来了冲击,当然也给企业的信息中⼼部门带来了挑战:如何构建IT系统架构更好地满⾜互联⽹时代下企业业务发展的需
要。阿⾥巴巴的共享服务理念以及企业级互联⽹架构建设的思路,给这些企业带来了不少新的思路,这也是我最终决定写这本书的最主要原因。
java网课推荐本书从阿⾥巴巴启动中台战略说起,详细阐述了共享服务理念给企业业务发展带来的业务价值。接着会分享阿⾥巴巴在建设共享服务体系时如何进⾏技术框架的选择,哪些重要的技术平台⽀撑起了共享服务体系,这也是迄今为⽌对阿⾥巴巴集团中间件体系对外最全⾯系统的介绍。除了技术层⾯之外,本书还分享了阿⾥巴巴内部的⼀些经验和实践,如组织的架构和体制如何更好地⽀持共享服务体系的持续发展。
11、尽在双11:阿⾥巴巴技术演进与超越
从 2009 年淘宝商城起,双 11 已历经⼋年。每年的双 11 既是当年的结束,⼜是⾛向未来的起点。技术的突破创新,商业模式的更替交互,推动着双 11 迈步向前。
《尽在双11——阿⾥巴巴技术演进与超越》是迄今唯⼀由阿⾥巴巴集团官⽅出品、全⾯阐述双11⼋年以来在技术和商业上演进和创新历程的书籍。内容涵盖在双11背景下阿⾥技术架构⼋年来的演进,如何确保稳定性这条双 11 ⽣命线的安全和可靠,技术和商业交织发展的历程,⽆线和互动的持续创新与突破,以及对商家的赋能和⽣态的促进与繁荣。
12、⼤型⽹站系统与Java中间件实践
本书围绕⼤型⽹站和⽀撑⼤型⽹站架构的Java中间件的实践展开介绍。从分布式系统的知识切⼊,让读者对分布式系统有基本的了解;然后介绍⼤型⽹站随着数据量、访问量增长⽽发⽣的架构变迁;接着讲述构建Java中间件的相关知识;之后的⼏章都是根据笔者的经验来介绍⽀撑⼤型⽹站架构的Java中间件系统的设计和实践。
希望读者通过本书可以了解⼤型⽹站架构变迁过程中的较为通⽤的问题和解法,并了解构建⽀撑⼤型⽹站的Java中间件的实践经验。对于有⼀定⽹站开发、设计经验,并想了解⼤型⽹站架构和⽀撑这种架构的系统的开发、测试等的相关⼯程⼈员,本书有很⼤的参考意义;对于没有⽹站开发设计经验的⼈员,通过本书也能宏观了解⼤型⽹站的架构及相关问题的解决思路和⽅案。
image
13、架构探险—从零开始写Java Web框架
本书⾸先从⼀个简单的Web应⽤开始,让读者学会如何使⽤IDEA、Maven、Git等开发⼯具搭建Java Web应⽤;接着通过⼀个简单的应⽤场景,为该 Web 应⽤添加若⼲业务功能,从需求分析与系统设计开始,带领读者动⼿完成该Web应⽤,完善相关细节,并对已有代码进⾏优化;然后基于传统Servlet框架搭建⼀款轻量级Java Web框架,⼀切都是从零开始,逐个实现类加载器、Bean 容器、IoC框架、MVC框架,所涉及的代码也是整个框架的核⼼基础。为了使框架具备AOP特性,从代理技术讲到AOP
技术,从ThreadLocal技术讲到事务控制技术。最后对框架进⾏优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展 Web 服务插件与安全控制插件为例,教会读者如何设计⼀款可扩展的Web应⽤框架。
14、架构探险:从零开始写分布式服务框架
随着微服务的流⾏,⽀撑微服务的分布式服务框架成为⼤家优先发展的重点。服务化的基本原理掌握起来相对⽐较容易,但是要从零构建⼀个分布式服务框架却⽐较困难,涉及通信、线程并发、服务调度等。本书详细讲解了构建服务框架所需的各种技术及框架选型,⼿把⼿教初学者搭建⼀套完整的分布式服务框架,如果你想掌握分布式服务框架底层的技术细节,⾃⼰开发⼀套适合本公司和领域的服务框架,本书是⼀个⾮常不错的选择!
15、软件架构师的12项修炼
本书将3⼤⽅⾯的软技能分为12项:关系技能包含⽂雅的举⽌(在任何环境下都能与⼈⽂雅相处的能⼒)、沟通(与⼈有效交互的能⼒)、协商(将事情办成的能⼒)、领导⼒(通过施加影响⼒将事情办成的能⼒)和政治(“政治场合”与⼈交互的能⼒)等5项;个⼈技能包含透明化(使⾃我、团队关系和项⽬透明化的能⼒)、激情(激发和保护激情的能⼒)和语境切换(将注意⼒迅速切换到新语境并保持专注的能⼒)等3项;商务技能包括商务知识(读懂商务语⾔的能⼒和了解产品与顾客的能⼒)、
创新(如何通过学习和思考来创新的能⼒)、实⽤主义(抓住关键问题的能⼒)、认知(认知⽬标、战略及合作伙伴的能⼒)等4项。
本书不仅帮助软件开发⼈员系统地学习如何修炼这12项软技能,⽽且还能让他们进⼀步理解软件架构师的⾓⾊和本质,使他们最终突破技术的“天花板”,成为⼀名合格的软件架构师。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论