从零开始学架构

从零开始学架构:照着做,你也能成为架构师

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

1)架构设计基础,包括架构设计相关概念、历史、原则、基本方法,让架构设计不再神秘。

2)架构设计流程,描述通用的架构设计流程,让架构设计不再依赖天才的创作,而是有章可循。

3)架构设计专题:包括高性能架构设计、高可用架构设计、可扩展架构设计,这些模式可以直接参考和应用。

4)架构设计实战,包括重构、开源方案引入、架构发展路径、互联网架构模板等。

内容简介

架构设计是技术人员成长和晋升过程中必须掌握的技能,但目前业界缺乏架构师学习和培养方面体系化的知识和实践的指导,本书结合作者多年在架构设计方面的学习、思考、实践,提出了完整的一套架构设计方法论,包括什么是架构、架构设计的目的、架构设计原则、架构设计流程、架构设计模式和技巧、互联网公司技术演进等内容。这套架构设计方法论适合不同行业,比如互联网、企业应用等;也适合不同的技术领域,比如后端架构设计、前端架构设计、客户端架构设计、测试平台架构设计、运维平台架构设计等。

本书由浅入深地阐述了架构设计的相关内容,比较适合以下类型的读者:

· 没有架构设计经验,但对架构设计非常有兴趣,希望学习架构设计技术,提升技术能力,成为“大厂面霸”的读者;

· 已经尝试了一些架构设计,但挖了各种“坑”或踩了各种“坑”,希望知道“为什么”的技术人员;

· 具备一定的架构设计经验,想进一步系统化地提升架构设计能力,成为令人羡慕的“高级技术专家”“资深技术专家”的读者。

作者简介

互联网资深技术专家,十多年技术老兵,目前带领多个研发团队,承担架构设计、架构重构、技术团队管理、技术培训等职责;专注于开源技术、系统分析、架构设计,对互联网技术的特点和发展趋势有较深入的研究,对系统解耦、高性能、高可用架构有丰富的经验。

章节目录

目录

第1部分 概念和基础

第1章 架构基础

1.1 “架构”到底指什么

1.1.1 系统与子系统

1.1.2 模块与组件

1.1.3 框架与架构

1.1.4 重新定义架构

1.2 架构设计的目的

1.2.1 架构设计的误区

1.2.2 以史为鉴

1.2.3 架构设计的真正目的

1.3 复杂度来源

1.3.1 高性能

1.3.2 高可用

1.3.3 可扩展性

1.3.4 低成本

1.3.5 安全

1.3.6 规模

1.4 本章小结

第2章 架构设计原则

2.1 合适原则

2.2 简单原则

2.3 演化原则

2.4 本章小结

第3章 架构设计流程

3.1 有的放矢―识别复杂度

3.2 按图索骥―设计备选方案

3.3 深思熟虑―评估和选择备选方案

3.3.1 业务背景

3.3.2 备选方案设计

3.3.3 备选方案360度环评

3.4 精雕细琢―详细方案设计

3.5 本章小结

第2部分 高性能架构模式

第4章 存储高性能

4.1 关系数据库

4.1.1 读写分离

4.1.2 分库分表

4.1.3 实现方法

4.2 NoSQL

4.2.1 K-V存储

4.2.2 文档数据库

4.2.3 列式数据库

4.2.4 全文搜索引擎

4.3 缓存

4.3.1 缓存穿透

4.3.2 缓存雪崩

4.3.3 缓存热点

4.4 本章小结

第5章 计算高性能

5.1 单服务器高性能

5.1.1 PPC

5.1.2 prefork

5.1.3 TPC

5.1.4 prethread

5.1.5 Reactor

5.1.6 Proactor

5.2 集群高性能

5.2.1 负载均衡分类

5.2.2 负载均衡架构

5.2.3 负载均衡的算法

5.3 本章小结

第3部分 高可用架构模式

第6章 CAP

6.1 CAP理论

6.1.1 一致性(Consistency)

6.1.2 可用性

6.1.3 分区容忍性(Partition Tolerance)

6.2 CAP应用

6.2.1 CP―Consistency/Partition Tolerance

6.2.2 AP―Availability/Partition Tolerance

6.3 CAP细节

6.4 ACID、BASE

6.4.1 ACID

6.4.2 BASE

6.5 本章小结

第7章 FMEA

7.1 FMEA介绍

7.2 FMEA方法

7.3 FMEA实战

7.4 本章小结

第8章 存储高可用

8.1 主备复制

8.1.1 基本实现

8.1.2 优缺点分析

8.2 主从复制

8.2.1 基本实现

8.2.2 优缺点分析

8.3 主备倒换与主从倒换

8.3.1 设计关键

8.3.2 常见架构

8.4 主主复制

8.5 数据集群

8.5.1 数据集中集群

8.5.2 数据分散集群

8.5.3 分布式事务算法

8.5.4 分布式一致性算法

8.6 数据分区

8.6.1 数据量

8.6.2 分区规则

8.6.3 复制规则

8.7 本章小结

第9章 计算高可用

9.1 主备

9.2 主从

9.3 对称集群

9.4 非对称集群

9.5 本章小结

第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 排队

10.3 本章小结

第4部分 可扩展架构模式

第11章 可扩展模式

11.1 可扩展概述

11.2 可扩展的基本思想

11.3 可扩展方式

11.4 本章小结

第12章 分层架构

12.1 分层架构类型

12.2 分层架构详解

12.3 本章小结

第13章 SOA架构

13.1 SOA历史

13.2 SOA详解

13.3 本章小结

第14章 微服务

14.1 微服务历史

14.2 微服务与SOA的关系

14.3 微服务的陷阱

14.4 微服务最佳实践

14.4.1 服务粒度

14.4.2 拆分方法

14.4.3 基础设施

14.5 本章小结

第15章 微内核架构

15.1 基本概念

15.2 设计关键点

15.3 OSGi架构简析

15.4 规则引擎架构简析

15.5 本章小结

第5部分 架构实战

第16章 消息队列设计实战

16.1 需求

16.2 设计流程

16.2.1 识别复杂度

16.2.2 设计备选方案

16.2.3 评估和选择备选方案

16.2.4 细化方案

16.3 本章小结

第17章 互联网架构演进

17.1 技术演进

17.1.1 技术演进的动力

17.1.2 淘宝

17.1.3 手机QQ

17.1.4 微信

17.2 技术演进的模式

17.3 互联网业务发展

17.3.1 业务复杂性

17.3.2 用户规模

17.3.3 量变到质变

17.4 本章小结

第18章 互联网架构模板

18.1 总体结构

18.2 存储层技术

18.2.1 SQL

18.2.2 NoSQL

18.2.3 小文件存储

18.2.4 大文件存储

18.3 开发层技术

18.3.1 开发框架

18.3.2 Web服务器

18.3.3 容器

18.4 服务层技术

18.4.1 配置中心

18.4.2 服务中心

18.4.3 消息队列

18.5 网络层技术

18.5.1 负载均衡

18.5.2 CDN

18.5.3 多机房

18.5.4 多中心

18.6 用户层技术

18.6.1 用户管理

18.6.2 消息推送

18.6.3 存储云与图片云

18.7 业务层技术

18.8 平台技术

18.8.1 运维平台

18.8.2 测试平台

18.8.3 数据平台

18.8.4 管理平台

18.9 本章小结

第19章 架构重构

19.1 有的放矢

19.2 合纵连横

19.2.1 合纵

19.2.2 连横

19.3 运筹帷幄

19.4 文武双全―项目管理 技术能力

19.5 本章小结

第20章 开源系统

20.1 选:如何选择一个开源项目

20.1.1 聚焦是否满足业务

20.1.2 聚焦是否成熟

20.1.3 聚焦运维能力

20.2 用:如何使用开源方案

20.2.1 深入研究,仔细测试

20.2.2 小心应用,灰度发布

20.2.3 做好应急,以防万一

20.3 改:如何基于开源项目做二次开发

20.3.1 保持纯洁,加以包装

20.3.2 发明你要的轮子

20.4 本章小结

从零开始学架构是2018年由电子工业出版社出版,作者李运华。

得书感谢您对《从零开始学架构》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
人民邮电出版社《云计算工程》 电子书
针对高校学生的每项云计算技术知识做单独、细致的讲解,易于学习且可读性强; 详细讲述每个技术的来龙去脉,以及各个技术解决方案中相关的联系,让读者知其然,也知其所以然; 以典型企业云计算为模型,细致介绍每种云技术的原理及应用; 符合ICT融合趋势,介绍常用综合云计算技术,包括WLAN、VOIP、网络、数据中心、3G/4G等技术。
微服务设计原理与架构 电子书
本书共分为四大篇幅内容,包括:1.直面微服务篇,剖析微服务架构的基本特征、优势和劣势,并给出实施微服务架构的系统方法。2.服务建模篇,介绍服务建模的思路和方法,并从服务拆分和集成角度对服务模型进行重点展开。3.服务实现篇,介绍微服务架构涉及的基础组件、关键要素以及目前主流的技术实现体系。4.服务转型篇,包括对遗留系统进行微服务架构的改造方法以及对研发过程转型的讨论。
软件调试(第2版)卷1:硬件基础 电子书
堪称是软件调试的“百科全书”,软件工程师的贴身宝典。
持续交付2.0:业务引领的DevOps精要 电子书
世界级互联网公司软件交付工作原则与方法解析 作者在持续交付领域多年实践经验的精华总结 《持续交付:发布可靠软件的系统方法》作者作序推荐! 国内知名互联网公司多位管理者与领域专家合力倾情推荐! 持续交付2.0不只是关于软件的交付模型,而是从业务问题出发,关注业务假设验证速度的双环业务模型。只有从业务目标出发的持续交付实践才有强大的创造力和生命力! 书中指出,持续交付2.0双环模型高速运转的三个支柱分别是组织机制、软件架构和软件交付基础设施,同时给出了提升价值探索环以及快速验证环运转速度的多种可行方法。 本书还为我们呈现了在企业内部改善持续交付2.0能力所需遵循的基本原则,包括组织文化建设、软件系统架构、业务协作、配置管理、构建集成、自动化测试、发布与监控七大板块,并指出各领域实践关键点,以及多种可实操性方法。同时,通过3个完整的实践案例过程分析,说明每个企业或团队都必须从自己的业务目标出发,根据自己的实际情况,制定自己的改善路线。
代码整洁之道 电子书
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin) 尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。 著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。 阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正确的代码,何谓错误的代码。更重要的是,本书将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。 书中的具体内容包括: ·好代码和糟糕的代码之间的区别; ·如何编写好代码,如何将糟糕的代码转化为好代码; ·如何创建好名称、好函数、好对象和好类; ·如何格式化代码以实现其可读性的大化; ·如何在不妨碍代码逻辑的前提下充分实现错误处理; ·如何进行单元测试和测试驱动开发。