• 软件架构设计:大型网站技术架构与业务架构融合之道
  • 软件架构设计:大型网站技术架构与业务架构融合之道
  • 软件架构设计:大型网站技术架构与业务架构融合之道
  • 软件架构设计:大型网站技术架构与业务架构融合之道
21年品牌 40万+商家 超1.5亿件商品

软件架构设计:大型网站技术架构与业务架构融合之道

12 1.5折 79 九品

仅1件

江西南昌
认证卖家担保交易快速发货售后保障

作者余春龙 著

出版社电子工业出版社

出版时间2019-02

版次1

装帧平装

货号13-3-5

上书时间2024-08-10

山嘴书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 余春龙 著
  • 出版社 电子工业出版社
  • 出版时间 2019-02
  • 版次 1
  • ISBN 9787121356032
  • 定价 79.00元
  • 装帧 平装
  • 开本 16
  • 纸张 胶版纸
  • 页数 256页
  • 字数 99999千字
【内容简介】

《软件架构设计:大型网站技术架构与业务架构融合之道》围绕软件架构设计,系统化地梳理技术架构与业务架构的方法论与实践。《软件架构设计:大型网站技术架构与业务架构融合之道》内容分为5 大部分,第1 部分定义架构的概念和范畴;第2 部分从编程语言、操作系统、网络、数据库、框架、中间件等方面入手,介绍架构学的基础知识;第3 部分从高并发、高可用与稳定性、一致性、CAP 理论等角度,分析技术架构知识;第4 部分从业务架构思维、技术架构与业务架构的融合角度,阐述业务架构知识;第5 部分从个人素质、团队能力两大方面,诠释从技术到管理的转变方法。通过本书,读者可以对业务软件的架构方法学有全局的认识,同时对软件架构的核心能力有深刻的理解,对个人的技术成长起到一定的借鉴作用。

 

《软件架构设计:大型网站技术架构与业务架构融合之道》不仅适合工程师、架构师阅读,也适合企业系统开发人员在内的软件开发从业人员阅读。

【作者简介】

余春龙,中科院软件所计算机硕士毕业,目前任唯品会业务架构师。热衷于高并发高可用架构、业务建模、领域驱动设计,在十年的工作中,做过游戏、社交、广告、电商等各种类型项目,积累了丰富的工程经验。

 


【目录】

第1部分  什么是架构

 

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

 

1.1  架构师职业分类  2

 

1.2  架构的分类  2

 

 

 

第2章  架构的道与术  5

 

2.1  何为道,何为术  5

 

2.2  道与术的辩证关系  6

 

第2部分  计算机功底

 

 

 

第3章  语言  10

 

3.1  层出不穷的编程语言  10

 

3.2  精通一门语言  10

 

 

 

第4章  操作系统  12

 

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

 

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模式与Preactor模式  20

 

4.3.3  select、epoll的LT与ET  20

 

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

 

4.4  进程、线程和协程  24

 

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

 

4.5.1  内存屏障  27

 

4.5.2  CAS  30

 

 

 

第5章  网络  31

 

5.1  HTTP 1.0  31

 

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/2  36

 

5.3.1  与HTTP 1.1的兼容  37

 

5.3.2  二进制分帧  37

 

5.3.3  头部压缩  39

 

5.4  SSL/TLS  39

 

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  HTTPS  48

 

5.6  TCP/UDP  49

 

5.6.1  可靠与不可靠  49

 

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

 

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

 

5.6.4  四次挥手  54

 

5.7  QUIC  56

 

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

 

5.7.2  更少的RTT  58

 

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 Log  72

 

6.5.1  Write-Ahead  73

 

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

 

6.5.3  Physiological Logging  75

 

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 Log  86

 

6.6.1  Undo Log是否一定需要  86

 

6.6.2  Undo Log(MVCC)  88

 

6.6.3  Undo Log不是Log  89

 

6.6.4  Undo Log与Redo Log的关联  90

 

6.6.4  各种锁  91

 

6.7  Binlog与主从复制  94

 

6.7.1  Binlog与Redo Log的主要差异  94

 

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

 

6.7.3  三种主从复制方式  96

 

6.7.3  并行复制  97

 

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

 

7.1  对生态体系的认知  99

 

7.2  框架  99

 

7.3  软件与中间件  100

 

 

 

第3部分  技术架构之道

 

第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/O  124

 

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  2PC  139

 

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

 

10.2.3  TCC  145

 

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 System  180

 

11.4.2  zxid  182

 

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部分  业务架构之道

 

第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  视角(横看成岭侧成峰)  209

 

14.7  抽象  210

 

14.8  建模  213

 

14.9  正交分解  215

 

 

 

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

 

15.1  各式各样的方法论  218

 

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

 

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

 

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

 

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

 

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

 

15.7  业务分层架构模式  225

 

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

 

15.9  状态机架构模式  226

 

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

 

 

 

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

 

第16章  个人素质的提升  232

 

16.1  能力模型  232

 

16.2  影响力的塑造  234

 

 

 

第17章  团队能力的提升  237

 

17.1  不确定性与风险把控  237

 

17.2  以价值为中心的管理  239

 

17.3  团队培养  241

点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP