• 深入浅出大型网站架构设计
21年品牌 40万+商家 超1.5亿件商品

深入浅出大型网站架构设计

全新正版 假一赔十 可开发票

56.31 6.3折 89 全新

仅1件

北京东城
认证卖家担保交易快速发货售后保障

作者李力非

出版社电子工业出版社

ISBN9787121353970

出版时间2020-06

装帧平装

开本16开

定价89元

货号1202074567

上书时间2024-12-13

轻阅书店

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

   商品详情   

品相描述:全新
商品描述
目录
章网站架构概述1

1.1网站的基本组件1

1.2网站业务规模增长带来的问题2

1.3大型网站架构设计的目标和原则4

1.3.1高性能4

1.3.2高可用5

1.3.3伸缩性6

1.3.4扩展性7

第2章大型网站架构设计的流程9

2.1需求分析9

2.1.1需求驱动的重要性9

2.1.2如何根据需求制定系统目标10

2.2方案设计11

2.2.1与架构设计原则相结合11

2.2.2设计多套备选方案12

2.3方案评估13

第3章数据库的选择15

3.1关系数据库15

3.1.1什么是关系数据库16

3.1.2关系数据库的优势和应用场景17

3.2非关系数据库18

3.2.1什么是非关系数据库18

3.2.2非关系数据库的优势和应用场景19

3.3常见的关系数据库产品20

3.3.1MySQL20

3.3.2MSSQLServer21

3.3.3Oracle22

3.4常见的非关系数据库产品22

3.4.1MongoDB23

3.4.2DynamoDB23

3.5云数据库23

第4章数据库优化:分库分表25

4.1什么是分库分表25

4.1.1分库25

4.1.2分表26

4.2为什么要进行分库分表27

4.2.1吞吐量27

4.2.2索引27

4.2.3备份28

4.2.4其他风险28

4.3实现分库分表28

4.3.1垂直分库分表29

4.3.2水平分库分表30

4.4分库分表带来的问题32

4.4.1全局唯一ID32

4.4.2关系数据库的部分操作33

4.4.3事务支持33

第5章数据库优化:读写分离34

5.1什么是读写分离34

5.2为什么要使用读写分离35

5.2.1何时需要使用读写分离35

5.2.2读写分离的好处36

5.3实现读写分离37

5.3.1中间件实现37

5.3.2应用层实现38

5.4读写分离带来的问题39

5.4.1副本的实时性39

5.4.2副本实时性的解决方案39

5.4.3成本问题40

第6章缓存41

6.1什么是缓存41

6.2缓存策略42

6.2.1LFU缓存策略42

6.2.2LRU缓存策略43

6.2.3缓存策略的优劣43

6.3缓存命中率44

6.4缓存的类型44

6.4.1客户端缓存44

6.4.2CDN缓存45

6.4.3应用缓存45

6.4.4基于分布式集群的缓存45

6.5分布式缓存46

6.5.1分布式缓存的应用场景46

6.5.2分布式缓存的架构设计47

6.6缓存的问题47

6.6.1缓存过热47

6.6.2缓存穿透48

6.6.3缓存雪崩48

6.7常见的缓存系统49

6.7.1MemCached49

6.7.2Redis49

第7章动静分离50

7.1动静分离50

7.1.1动态数据和静态数据50

7.1.2动静分离的概念52

7.1.3动静分离的作用53

7.2拆分动态数据和静态数据55

7.2.1识别动态数据和静态数据55

7.2.2改造数据56

7.2.3改造数据要注意的问题60

7.3动静分离的架构改造62

7.3.1动静分离的缓存架构62

7.3.2浏览器缓存63

7.3.3CDN缓存64

7.3.4Web服务器缓存65

7.3.5分布式缓存65

7.3.6页面组装66

第8章负载均衡67

8.1什么是负载均衡67

8.1.1负载均衡的概念67

8.1.2负载均衡的类型69

8.1.3有负载均衡的网站架构69

8.1.4反向代理70

8.2DNS负载均衡72

8.2.1DNS73

8.2.2A记录73

8.2.3CName73

8.2.4配置DNS负载均衡74

8.2.5DNS负载均衡的优缺点75

8.3硬件负载均衡76

8.4软件负载均衡:LVS77

8.4.1LVS架构77

8.4.2LVS的负载均衡方式78

8.4.3LVS的负载均衡策略80

8.4.4LVS的调整升级81

8.4.5LVS的优缺点81

8.5软件负载均衡:Nginx82

8.5.1Nginx架构82

8.5.2Nginx的工作原理83

8.5.3Nginx的负载均衡策略84

8.5.4Nginx的错误重试85

8.5.5Nginx的调整升级85

8.5.6Nginx的主要特点86

8.5.7Nginx配置实战86

8.6负载均衡的实践流程89

8.6.1回顾流量基本概念90

8.6.2实践流程90

第9章异步和非阻塞93

9.1异步及其相关概念93

9.1.1同步和异步94

9.1.2阻塞和非阻塞94

9.1.3多线程96

9.2异步和非阻塞的作用97

9.2.1异步和非阻塞的应用场景97

9.2.2异步和非阻塞的架构102

9.2.3异步的优势103

9.3实战:以Java为例105

9.3.1Runnable105

9.3.2Callable106

9.3.3Future106

9.3.4Executor和ExecutorService108

9.3.5改造同步且阻塞的Java代码108

9.4异步和非阻塞带来的问题112

9.4.1API定义113

9.4.2线程池的扩容113

0章队列116

10.1队列及其相关概念116

10.1.1队列116

10.1.2生产/消费、发布/订阅与主题117

10.2队列与网站的整合119

10.2.1发布者119

10.2.2订阅者120

10.2.3订阅者:推送模式120

10.2.4订阅者:拉取/轮询模式122

10.3队列的应用123

10.3.1流量控制123

10.3.2服务解耦126

10.4队列存在的问题与解决方案128

10.4.1消息积压128

10.4.2消息的可靠传递130

10.4.3消息重复133

10.5常见的队列产品和系统134

10.5.1RabbitMQ134

10.5.2ActiveMQ135

10.5.3RocketMQ135

10.5.4Kafka136

10.5.5AWSSQS和SNS136

1章高可用137

11.1CAP原理137

11.1.1什么是CAP原理137

11.1.2CAP原理与网站服务138

11.2服务可用性的标准141

11.3冗余和隔离142

11.3.1扩容中的冗余142

11.3.2广义的冗余142

11.3.3隔离142

2章异地多活144

12.1异地多活的基本概念144

12.1.1基本概念144

12.1.2作用145

12.1.3应用场景145

12.1.4异地多活和负载均衡147

12.2异地多活的类型147

12.2.1同城异地多活147

12.2.2跨城市异地多活148

12.2.3跨地区异地多活149

12.3如何进行异地多活改造149

12.3.1业务分类149

12.3.2数据分类150

12.3.3数据同步151

12.3.4异地多活的数据同步提升方案153

3章服务降级156

13.1服务降级的基本概念156

13.1.1什么是服务降级156

13.1.2单点故障158

13.2微服务与服务拆分160

13.2.1什么是微服务160

13.2.2流量模式161

13.2.3如何拆分服务162

13.3系统分级165

13.3.1分析系统流程图165

13.3.2一级系统166

4章限流168

14.1限流的基本概念168

14.1.1什么是限流168

14.1.2为什么需要限流169

14.1.3限流的几种标准171

14.1.4限流的几种思路172

14.2限流算法176

14.2.1令牌桶算法与漏桶算法176

14.2.2时间窗口算法179

14.2.3队列法182

14.3服务限流需要考虑的问题183

14.3.1性能和准确性183

14.3.2如何进一步提升184

14.4实战:使用Nginx限流186

5章下游错误处理191

15.1超时机制191

15.2错误分类192

15.2.1如何分类错误192

15.2.2早期失败194

15.2.3默认值的作用194

15.3错误重试195

15.3.1错误重试的条件196

15.3.2错误重试带来的问题196

6章测试198

16.1测试的类型198

16.1.1一般功能测试198

16.1.2黑盒和白盒测试200

16.1.3不同程度的功能测试202

16.1.4非功能的测试204

16.2测试用例的设计206

16.2.1模拟实际环境206

16.2.2包含错误情况207

16.2.3保证用例多样性209

16.2.4验证系统间的连接性212

16.3功能测试详解213

16.3.1单元测试213

16.3.2集成测试217

16.3.3端到端测试219

7章上线准备222

17.1发布流程222

17.1.1规范化流程222

17.1.2结合测试的流程224

17.1.3自动化的流程225

17.2监控226

17.2.1生产环境度量226

17.2.2监控与警报231

17.3压力测试232

17.3.1压力测试的目的233

17.3.2如何进行压力测试233

17.4灰度发布237

17.4.1什么是灰度发布237

17.4.2灰度发布的条件239

17.5维护人员241

17.5.1应急预案241

17.5.2人工监控242

内容摘要
为了帮助有一定编程基础的读者快速了解如何以职业标准开发一个网站,本书从架构设计的角度出发,涵盖了以高性能、高可用、高并发等多个业内标准为目标的网站设计和建设手段,并在每个方面追本溯源,从理论方法到生产实践,在力求简明易懂、适用于尽可能多的场合的前提下深入到实践中,为读者提供实用操作指南。同时,本书对所有出现的概念都作了简明扼要的解释,并对介绍的手段和方案不仅解释了如何做,也解释了来源和选择理由,使得读者在理解内容并能应用的同时,也能理解这些手段背后的思路,将来亦可脱离书本,作出属于自己的创新方案,真正做到了授人以鱼不如授人以渔。

—  没有更多了  —

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

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