架构是一门艺术,也是一门技术,它不仅包含丰富的知识点,更考验架构师的综合能力。
小编分享一份架构宝典
架构设计是技术人员成长和晋升过程中必须掌握的技能,但目前业界缺乏架构师学习和培养方面体系化的知识和实践的指导,这份宝典结合作者多年在架构设计方面的学习、思考、实践,提出了完整的一套架构设计方法论,包括什么是架构、架构设计的目的、架构设计原则、架构设计流程、架构设计模式和技巧、互联网公司技术演进等内容。这套架构设计方法论适合不同行业,比如互联网、企业应用等;也适合不同的技术领域,比如后端架构设计、前端架构设计、客户端架构设计、测试平台架构设计、运维平台架构设计等。
本书由浅入深地阐述了架构设计的相关内容,比较适合以下类型的读者:
没有架构设计经验,但对架构设计非常有兴趣,希望学习架构设计技术,提升技术能力,成为“大厂面霸”的读者;已经尝试了一些架构设计,但挖了各种“坑”或踩了各种“坑”,希望知道“为什么”的技术人员;具备一定的架构设计经验,想进一步系统化地提升架构设计能力,成为令人羡慕的“高级技术专家”资深技术专家”
第一部分 概念和基础
第1章 架构基础
1.1“架构”到底指什么1.2架构设计的目的1.3复杂度来源
第2章 架构设计原则
2.1合适原则2.2简单原则2.3演化原则
第3章 架构设计流程
3.1有的放矢―识别复杂度3.2按图索骥―设计备选方案3.3深思熟虑―评估和选择备选方案3.4精雕细琢―详细方案设计
第二部分 高性能架构模式
第4章 存储高性能
4.1关系数据库4.2NoSQL4.3缓存
第5章 计算高性能
5.1单服务器高性能5.2集群高性能
第三部分 高可用架构模式
第6章 CAP
6.1CAP理论6.2CAP应用6.3CAP细节6.4ACID、BASE
第7章 FMEA
7.1FMEA介绍7.2FMEA方法7.3FMEA实战
第8章 存储高可用
8.1主备复制8.2主从复制8.3主备倒换与主从倒换8.4主主复制8.5数据集群8.6数据分区
第9章 计算高可用
9.1主备9.2主从9.3对称集群9.4非对称集群
第10章 业务高可用
10.1异地多活10.1.1异地多活架构10.1.2异地多活设计技巧10.1.3异地多活设计步骤10.2接口级的故障应对方案10.2.1降级10.2.2熔断10.2.3限流10.2.4排队
第四部分 可扩展架构模式
第11章 可扩展模式
11.1可扩展概述11.2可扩展的基本思想11.3可扩展方式
第12章 分层架构
12.1分层架构类型12.2分层架构详解
第13章 SOA架构
13.1SOA历史13.2SOA详解
第14章 微服务
14.1微服务历史14.2微服务与SOA的关系14.3微服务的陷阱14.4微服务最佳实践
第15章 微内核架构
15.1基本概念15.2设计关键点15.3OSGi架构简析15.4规则引擎架构简析
第五部分 架构实战
第16章 消息队列设计实战
16.1需求16.2设计流程16.2.1识别复杂度16.2.2设计备选方案16.2.3评估和选择备选方案16.2.4细化方案
第17章 互联网架构演进
17.1技术演进17.1.1技术演进的动力17.1.2淘宝17.1.3手机QQ17.1.4微信17.2技术演进的模式17.3互联网业务发展
第18章 互联网架构模板
18.1总体结构18.2存储层技术18.3开发层技术18.4服务层技术18.5网络层技术18.6用户层技术18.7业务层技术18.8平台技术
第19章 架构重构
19.1有的放矢19.2合纵连横19.2.1合纵19.2.2连横19.3运筹帷幄19.4文武双全―项目管理+技术能力
第20章 开源系统
20.1选:如何选择一个开源项目20.2用:如何使用开源方案20.3改:如何基于开源项目做二次开发