官网 高并发架构实战 从需求分析到系统设计 李智慧 李潇然 架构师书库 高并发编程的基础知识 编程系统架构教程书籍
运费: | ¥ 0.00-30.00 |
商品详情
书名:高并发架构实战:从需求分析到系统设计
定价:99.0
ISBN:9787111729761
作者:李智慧
版次:1
内容提要:
本书包含 20 余个高并发系统案例,每个案例看似相互独立,实则相辅相成。根据高并发系统的特点,高并发与高性能、高可用的关系,本书分为 6 篇。基础篇,概要介绍专栏所用的软件建模方法、设计文档写法、高并发架构设计方法。高并发系统的海量数据处理架构篇,讨论海量数据如何存储、如何传输、如何进行并发控制。高并发系统的高性能架构篇,讨论在高并发场景下,如何保证系统的响应性能。高并发系统的高可用架构篇,通过微博、百科、限流器等架构案例分析,寻求保障高并发系统高可用的方案。安全系统架构篇,通过Web防火墙、加解密平台、区块链设计等,讨论面对恶意请求、敏感数据泄露的风险,如何保证系统足够安全可靠。网约车架构专题篇,深入讨论一个网约车架构。
目录:
CONTENTS
目 录
前言
第1章 系统架构蓝图:软件建模与文档1
1.1 软件建模2
1.2 软件设计方法3
1.2.1 类图3
1.2.2 时序图4
1.2.3 组件图5
1.2.4 部署图6
1.2.5 用例图7
1.2.6 状态图8
1.2.7 活动图8
1.3 软件设计文档10
1.4 小结12
第2章 面对高并发如何对症下药13
2.1 高并发系统架构的方法论14
2.2 高并发系统架构的主要技术15
2.2.1 分布式应用15
2.2.2 分布式缓存17
2.2.3 分布式消息队列17
2.2.4 分布式关系数据库18
2.2.5 分布式微服务19
2.3 系统并发指标20
2.4 小结21
第3章 百亿短URL生成器设计23
3.1 需求分析24
3.1.1 短URL生成器的用例图25
3.1.2 性能指标估算25
3.1.3 非功能性需求26
3.2 概要设计27
3.2.1 单向散列函数生成短URL27
3.2.2 自增长短URL28
3.2.3 预生成短URL28
3.2.4 整体部署模型28
3.3 详细设计32
3.3.1 重定向响应码32
3.3.2 短URL预生成文件及预加载33
3.3.3 用户自定义短URL34
3.3.4 URL Base64编码35
3.4 小结36
第4章 千亿级网页爬虫设计38
4.1 需求分析39
4.1.1 性能指标估算39
4.1.2 非功能性需求39
4.2 概要设计41
4.2.1 爬虫处理流程42
4.2.2 系统部署模型44
4.2.3 分布式爬虫45
4.3 详细设计46
4.3.1 URL调度器算法46
4.3.2 去重算法50
4.3.3 高可用设计50
4.4 小结51
第5章 万亿GB网盘系统设计53
5.1 需求分析54
5.1.1 负载指标估算55
5.1.2 非功能性需求55
5.2 概要设计56
5.3 详细设计60
5.3.1 元数据库设计60
5.3.2 限速61
5.3.3 秒传61
5.4 小结63
第6章 支撑3000万用户同时在线的短视频系统设计64
6.1 需求分析65
6.2 概要设计66
6.3 详细设计70
6.3.1 视频存储系统设计70
6.3.2 性能优化与CDN设计72
6.3.3 缩略图生成与推荐设计73
6.4 小结76
第7章 高可用分布式存储系统设计77
7.1 需求分析78
7.2 概要设计79
7.3 详细设计80
7.3.1 路由算法80
7.3.2 高可用设计83
7.3.3 集群伸缩设计86
7.4 小结87
第8章 应对万人抢购的秒杀系统设计89
8.1 需求分析90
8.1.1 独立开发部署秒杀系统90
8.1.2 防止跳过秒杀页面直接下单90
8.2 概要设计90
8.2.1 独立秒杀系统页面设计91
8.2.2 秒杀系统的流量控制92
8.2.3 秒杀活动启动机制设计95
8.2.4 秒杀系统部署模型96
8.3 小结98
第9章 基于LBS的交友系统设计99
9.1 需求分析100
9.2 概要设计101
9.3 详细设计102
9.3.1 SQL邻近算法103
9.3.2 地理网格邻近算法104
9.3.3 动态网格算法105
9.3.4 GeoHash算法107
9.3.5 Liao的最终算法选择111
9.4 小结112
第10章 全网搜索引擎设计113
10.1 概要设计114
10.2 详细设计116
10.2.1 索引116
10.2.2 PageRank排序算法120
10.3 小结123
第11章 反应式编程框架设计124
11.1 需求分析125
11.2 概要设计127
11.3 详细设计129
11.3.1 服务注册131
11.3.2 流程编排132
11.3.3 流式微服务设计133
11.4 小结136
第12章 支撑亿级用户的微博系统设计138
12.1 需求分析139
12.1.1 功能需求139
12.1.2 性能指标估算140
12.2 概要设计141
12.3 详细设计144
12.3.1 微博发表/订阅问题144
12.3.2 缓存使用策略146
12.3.3 数据库分片策略148
12.4 小结149
第13章 百科应用系统设计150
13.1 概要设计151
13.1.1 整体架构设计151
13.1.2 多数据中心架构153
13.2 详细设计156
13.2.1 前端性能优化156
13.2.2 服务端性能优化157
13.2.3 存储端性能优化157
13.3 小结158
第14章 高可用的限流器设计160
14.1 需求分析161
14.2 概要设计161
14.2.1 限流模式设计162
14.2.2 高可用设计163
14.3 详细设计163
14.3.1 配置文件设计164
14.3.2 固定窗口限流算法165
14.3.3 滑动窗口限流算法167
14.3.4 漏桶限流算法168
14.3.5 令牌桶限流算法171
14.4 小结172
第15章 安全可靠的Web应用防火墙设计174
15.1 需求分析175
15.2 概要设计176
15.3 详细设计179
15.3.1 XSS攻击179
15.3.2 SQL注入攻击182
15.3.3 CSRF攻击184
15.3.4 注释与异常信息泄露185
15.4 小结186
第16章 敏感数据的加解密服务平台187
16.1 需求分析189
16.2 概要设计191
16.2.1 部署模型193
16.2.2 加解密调用时序图194
16.3 详细设计195
16.3.1 密钥领域模型195
16.3.2 核心服务类设计197
16.3.3 加解密数据接口设计199
16.3.4 测试用例代码200
16.4 小结201
第17章 许可型区块链重构设计202
17.1 区块链技术原理203
17.1.1 区块链技术203
17.1.2 联盟链技术205
17.2 需求分析206
17.3 概要设计208
17.4 详细设计210
17.4.1 联盟共识控制台210
17.4.2 联盟新成员许可入网211
17.4.3 授权打包区块212
17.5 小结213
第18章 网约车系统设计215
18.1 需求分析215
18.2 概要设计216
18.3 详细设计220
18.3.1 长连接管理220
18.3.2 派单算法222
18.3.3 订单状态模型225
18.4 小结226
第19章 网约车系统的DDD重构228
19.1 用领域驱动设计微服务的一般方法229
19.2 DDD重构设计232
19.3 小结237
第20章 网约车大数据平台设计239
20.1 大数据平台设计240
20.1.1 大数据采集与导入240
20.1.2 大数据计算242
20.1.3 数据导出与应用243
20.2 大数据派单引擎设计243
20.2.1 基于乘客分类的匹配244
20.2.2 基于车辆分类的匹配245
20.3 小结246
第21章 动手实践系统架构设计247
21.1 系统架构设计的要求248
21.2 参考设计249
21.2.1 需求分析250
21.2.2 系统架构252
21.2.3 主要技术选型255
21.2.4 关键技术落地实现256
第22章 架构师的责任与领导力257
22.1 架构师的责任257
22.1.1 开发259
22.1.2 部署259
22.1.3 运行260
22.1.4 维护261
22.2 成为技术领导者262
22.2.1 创新263
22.2.2 激励264
22.2.3 组织265
附录A 五大海量数据处理技术268
后记 一个架构师的一天280
- 机械工业出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...