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