图书介绍

软件架构设计 大型网站技术架构与业务架构融合之道PDF|Epub|txt|kindle电子书版本网盘下载

软件架构设计 大型网站技术架构与业务架构融合之道
  • 余春龙著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121356032
  • 出版时间:2019
  • 标注页数:244页
  • 文件大小:81MB
  • 文件页数:257页
  • 主题词:网站建设-软件开发-架构

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件架构设计 大型网站技术架构与业务架构融合之道PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 什么是架构2

第1章 五花八门的架构师职业2

1.1 架构师职业分类2

1.2 架构的分类2

第2章 架构的道与术5

2.1 何为道,何为术5

2.2 道与术的辩证关系6

第2部分 计算机功底10

第3章 语言10

3.1 层出不穷的编程语言10

3.2 精通一门语言10

第4章 操作系统12

4.1 缓冲I/O和直接I/O12

4.2 内存映射文件与零拷贝14

4.2.1 内存映射文件14

4.2.2 零拷贝15

4.3 网络I/O模型17

4.3.1 实现层面的网络I/O模型17

4.3.2 Reactor模式与Proactor模式20

4.3.3 select、 epoll的LT与ET20

4.3.4 服务器编程的1+N+M模型22

4.4 进程、线程和协程24

4.5 无锁(内存屏障与CAS)27

4.5.1 内存屏障27

4.5.2 CAS30

第5章 网络31

5.1 HTTP 1.031

5.1.1 HTTP 1.0的问题31

5.1.2 Keep-Alive机制与Content-Length属性31

5.2 HTTP 1.1 32

5.2.1 连接复用与Chunk机制32

5.2.2 Pipeline与Head-of-line Blocking问题33

5.2.3 HTTP/2出现之前的性能提升方法34

5.2.4 “一来多回”问题35

5.2.5 断点续传36

5.3 HTTP/236

5.3.1 与HTTP 1.1 的兼容37

5.3.2 二进制分帧37

5.3.3 头部压缩39

5.4 SSL/TLS39

5.4.1 背景39

5.4.2 对称加密的问题40

5.4.3 双向非对称加密41

5.4.4 单向非对称加密42

5.4.5 中间人攻击43

5.4.6 数字证书与证书认证中心44

5.4.7 根证书与CA信任链45

5.4.8 SSL/TLS协议:四次握手47

5.5 HTTPS48

5.6 TCP/UDP49

5.6.1 可靠与不可靠49

5.6.2 TCP的“假”连接(状态机)51

5.6.3 三次握手(网络2将军问题)53

5.6.4 四次挥手54

5.7 QUIC56

5.7.1 不丢包(Raid5算法和Raid6算法)57

5.7.2 更少的RTT58

5.7.3 连接迁移58

第6章 数据库59

6.1 范式与反范式59

6.2 分库分表59

6.2.1 为什么要分60

6.2.2 分布式ID生成服务60

6.2.3 拆分维度的选择60

6.2.4 Join查询问题61

6.2.5 分布式事务61

6.3 B+树62

6.3.1 B+树逻辑结构62

6.3.2 B+树物理结构63

6.3.3 非主键索引65

6.4 事务与锁66

6.4.1 事务的四个隔离级别66

6.4.2 悲观锁和乐观锁67

6.4.3 死锁检测71

6.5 事务实现原理之1: Redo Log72

6.5.1 Write-Ahead73

6.5.2 Redo Log的逻辑与物理结构74

6.5.3 Physiological Logging75

6.5.4 I/O写入的原子性(Double Write)76

6.5.5 Redo Log Block结构77

6.5.6 事务、LSN与Log Block的关系78

6.5.7 事务Rollback与崩溃恢复(ARIES算法)80

6.6 事务实现原理之2: Undo Log86

6.6.1 Undo Log是否一定需要86

6.6.2 Undo Log(MVCC)88

6.6.3 Undo Log不是Log89

6.6.4 Undo Log与 Redo Log的关联90

6.6.5 各种锁91

6.7 Binlog与主从复制94

6.7.1 Binlog与Redo Log的主要差异94

6.7.2 内部XA- Binlog与Redo Log一致性问题95

6.7.3 三种主从复制方式97

6.7.4 并行复制97

第7章 框架、软件与中间件100

7.1 对生态体系的认知100

7.2 框架100

7.3 软件与中间件101

第3部分 技术架构之道104

第8章 高并发问题104

8.1 问题分类104

8.1.1 侧重于“高并发读”的系统104

8.1.2 侧重于“高并发写”的系统105

8.1.3 同时侧重于“高并发读”和“高并发写”的系统106

8.2 高并发读108

8.2.1 策略1:加缓存108

8.2.2 策略2:并发读109

8.2.3 策略3:重写轻读110

8.2.4 总结:读写分离(CQRS架构)113

8.3 高并发写114

8.3.1 策略1:数据分片114

8.3.2 策略2:任务分片115

8.3.3 策略3:异步化117

8.3.4 策略4:批量123

8.3.5 策略5:串行化+多进程单线程+异步I/O124

8.4 容量规划125

8.4.1 吞吐量、响应时间与并发数125

8.4.2 压力测试与容量评估127

第9章 高可用与稳定性129

9.1 多副本129

9.2 隔离、限流、熔断和降级130

9.3 灰度发布与回滚135

9.4 监控体系与日志报警136

第10章 事务一致性138

10.1 随处可见的分布式事务问题138

10.2 分布式事务解决方案汇总139

10.2.1 2PC139

10.2.2 最终一致性(消息中间件)141

10.2.3 TCC145

10.2.4 事务状态表+调用方重试+接收方幂等147

10.2.5 对账148

10.2.6 妥协方案:弱一致性+基于状态的补偿149

10.2.7 妥协方案:重试+回滚+报警+人工修复151

10.2.8 总结152

第11章 多副本一致性153

11.1 高可用且强一致性到底有多难153

11.1.1 Kafka的消息丢失问题153

11.1.2 Kafka消息错乱问题156

11.2 Paxos算法解析158

11.2.1 Paxos解决什么问题158

11.2.2 复制状态机161

11.2.3 一个朴素而深刻的思想163

11.2.4 Basic Paxos算法164

11.2.5 Multi Paxos算法167

11.3 Raft算法解析169

11.3.1 为“可理解性”而设计169

11.3.2 单点写入170

11.3.3 日志结构171

11.3.4 阶段1:Leader选举174

11.3.5 阶段2:日志复制176

11.3.6 阶段3:恢复阶段177

11.3.7 安全性保证177

11.4 Zab算法解析180

11.4.1 Replicated State Machine vs.Primary-Backup System180

11.4.2 zxid182

11.4.3 “序”:乱序提交vs.顺序提交182

11.4.4 Leader选举:FLE算法184

11.4.5 正常阶段:2阶段提交186

11.4.6 恢复阶段186

11.5 三种算法对比187

第12章 CAP理论189

12.1 CAP理论的误解189

12.2 现实世界不存在“强一致性”(PACELC理论)190

12.3 典型案例:分布式锁192

第4部分 业务架构之道196

第13章 业务意识196

13.1 产品经理vs.需求分析师196

13.2 什么叫作一个“业务”198

13.3 “业务架构”的双重含义199

13.4 “业务架构”与“技术架构”的区分200

第14章 业务架构思维202

14.1 “伪”分层202

14.2 边界思维204

14.3 系统化思维205

14.4 利益相关者分析206

14.5 非功能性需求分析(以终为始)208

14.6 视角(架构4+1/5+1视图)209

14.7 抽象210

14.8 建模213

14.9 正交分解215

第15章 技术架构与业务架构的融合219

15.1 各式各样的方法论219

15.2 为什么要“领域驱动”219

15.3 “业务流程”不等于“系统流程”222

15.4 为何很难设计一个好的领域模型223

15.5 领域驱动设计与微服务架构的“合”224

15.6 领域驱动设计与读写分离(CQRS)225

15.7 业务分层架构模式226

15.8 管道—过滤器架构模式227

15.9 状态机架构模式227

15.10 业务切面/业务闭环架构模式229

第5部分 从架构到技术管理234

第16章 个人素质的提升234

16.1 能力模型234

16.2 影响力的塑造236

第17章 团队能力的提升239

17.1 不确定性与风险把控239

17.2 以价值为中心的管理241

17.3 团队培养243

热门推荐