首页>参考读物>计算机科学与技术>软件与程序设计

高并发架构实战:从需求分析到系统设计
作者 : 李智慧 著 李潇然 绘
丛书名 : 架构师书库
出版日期 : 2023-06-15
ISBN : 978-7-111-72976-1
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 :
开本 : 32
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书包含 20 余个高并发系统案例,每个案例看似相互独立,实则相辅相成。根据高并发系统的特点,高并发与高性能、高可用的关系,本书分为 6 篇。基础篇,概要介绍专栏所用的软件建模方法、设计文档写法、高并发架构设计方法。高并发系统的海量数据处理架构篇,讨论海量数据如何存储、如何传输、如何进行并发控制。高并发系统的高性能架构篇,讨论在高并发场景下,如何保证系统的响应性能。高并发系统的高可用架构篇,通过微博、百科、限流器等架构案例分析,寻求保障高并发系统高可用的方案。安全系统架构篇,通过Web防火墙、加解密平台、区块链设计等,讨论面对恶意请求、敏感数据泄露的风险,如何保证系统足够安全可靠。网约车架构专题篇,深入讨论一个网约车架构。

图书特色

知名技术畅销书作者李智慧全新力作,基于真实经典案例改编
带你站在大厂架构师视角理解高并发架构设计思路
从需求分析到系统设计,通过八大维度、18个案例
全面介绍高并发系统的设计方法、核心技术与架构实践

上架指导

计算机\程序设计

封底文字

架构设计是一种权衡的艺术,架构设计的目的是解决各种业务和技术问题,而解决问题的方法有很多种,每一种方法都需要付出各自的代价,同时又会带来各种新的问题。架构师是团队的技术带头人,需要在这些方法中权衡、选择,寻找自己和团队能驾驭的适合方案。
本书将为你提供一站式的高并发架构解决方案,以及架构师权衡抉择的方法与技巧。本书由知名技术畅销书作者李智慧撰写,从需求分析到详细设计,从八大维度剖析18个精彩案例,让你真正掌握架构思维与实践要点。
本书特色
沉浸式设计:基于多个真实大厂架构设计文档进行重构,通过贴合真实高并发工作场景的设计文档形式、求同存异的典型系统架构设计方案,体验作为大厂架构师的沉浸式设计心路。
实用性强:本书介绍的多个应用场景与技术方案,可解决现实工作中80%以上的高并发共性问题,真正做到学以致用。
知识体系完备:本书介绍的知识点覆盖面广,应用场景多,包括微博、百科、搜索引擎、短视频、交友软件、网约车等各种应用,以及秒杀系统、区块链架构、分布式存储、DDD重构等关键技术,构建了完整的高并发系统架构知识体系。
内容专业:作者李智慧是知名架构师,将自己多年的实践经验和理论知识融合,让读者真正、全面地理解高并发系统开发。
读者好评如潮:本书内容由极客时间畅销专栏改编、扩充而来,内容广受读者好评。

作者简介

李智慧 著 李潇然 绘:李智慧,同程旅行资深架构师、Apache Spark 代码贡献者,曾担任阿⾥巴巴技术专家、Intel亚太研发中⼼架构师、Wi-Fi万能钥匙 CTO。他也是极客时间专栏作者、腾讯云TVP,著有技术畅销书《架构师的⾃我修炼:技术、架构和未来》《⼤型⽹站技术架构:核⼼原理与案例分析》。

图书目录

《高并发系统架构设计案例》目录
前言
像架构师一样思考
第一篇 架构基础
第一章 软件建模与文档:架构师怎样绘制系统架构蓝图?
1.1.什么是软件建模
1.2.软件设计方法
1.3.软件设计文档写作方法
第二章 高并发架构设计方法:面对高并发,怎么对症下药?
2.1.高并发系统架构的方法论
2.2.高并发系统架构的方法
2.2.1.分布式应用
2.2.2.分布式缓存
2.2.3.分布式消息队列
2.2.4.分布式关系数据库
2.2.5.分布式微服务
2.3.系统并发指标概述
第二篇 高并发系统的海量数据处理架构
第三章 短URL生成器设计:百亿短URL怎样做到无冲突?
3.1.需求分析
3.1.1.性能指标估算
3.1.2.非功能需求
3.2.概要设计
3.2.1.单项散列函数生成短URL
3.2.2.自增长短URL
3.2.3.预生成短URL
3.2.4.整体部署模型
3.3.详细设计
3.3.1.重定向响应码
3.3.2.短URL预生成文件及预加载
3.3.3.用户自定义短URL
3.3.4.URL Base64编码
3.4.小结
第四章 网页爬虫设计:如何下载千亿级网页?
4.1.需求分析
4.1.1.性能指标估算
4.1.2.非功能需求
4.2.概要设计
4.2.1.整体架构
4.2.2.分布式爬虫
4.3.详细设计
4.3.1.URL调度器算法
4.3.2.去重算法
4.3.3.高可用设计
4.4.小结
第五章 网盘系统设计:万亿GB网盘如何实现秒传与限速?
5.1.需求分析
5.1.1.负载指标估算
5.1.2.非功能需求
5.2.概要设计
5.3.详细设计
5.3.1.元数据库设计
5.3.2.限速
5.3.3.秒传
5.4.小结
第六章 短视频系统设计:如何支持三千万用户同时在线看视频?
6.4.1.需求分析
6.4.2.概要设计
6.4.3.详细设计
6.4.3.1.视频存储系统设计
6.4.3.2.性能优化与CDN设计
6.4.3.3.缩略图生成与推荐设计
6.4.4.小结
第七章 海量数据处理技术回顾:为什么分布式会遇到CAP难题?
7.1.HDFS
7.2.分布式关系数据库
7.3.HBase
7.4.ZooKeeper
7.5.布隆过滤器
7.6.小结
第三篇 高并发系统的高性能架构
第八章秒杀系统设计:你的系统可以应对万人抢购盛况吗?
8.1.需求分析
8.2.概要设计
8.2.1.独立秒杀系统页面设计
8.2.2.秒杀系统的流量控制
8.2.3.秒杀商品页面购买按钮点亮方案设计与下单URL下发
8.2.4.秒杀系统部署模型
8.3.小结
第九章 交友系统设计:哪种地理空间邻近算法更快?
9.1.需求分析
9.2.概要设计
9.3.详细设计
9.3.1.SQL邻近算法
9.3.2.地理网格邻近算法
9.3.3.动态网格算法
9.3.4.GeoHash算法
9.3.5.Liao的最终算法选择
9.4.小结
第十章 搜索引擎设计:信息搜索怎么避免大海捞针?
10.1.概要设计
10.2.详细设计
10.2.1.索引
10.2.2.PageRank排名算法
10.3.小结
第十一章 反应式编程框架设计:如何使方法调用无阻塞等待?
11.1.需求分析
11.2.概要设计
11.3.详细设计
11.3.1.服务注册
11.3.2.流程编排
11.4.小结
第十二章高性能架构的三板斧:分析系统性能问题从哪里入手?
12.1.性能测试
12.2.负载均衡
12.3.分布式缓存
12.4.消息队列
12.5.小结
第四篇 高并发系统的高可用架构
第十三章 微博系统设计:怎么应对热点事件的突发访问压力?
13.1.需求分析
13.1.1.功能需求
13.1.2.性能指标估算
13.2.概要设计
13.3.详细设计
13.3.1.Weitter的发表/订阅问题
13.3.2.缓存使用策略
13.3.3.数据库分片策略
13.4.小结
第十四章 百科应用系统设计:机房被火烧了系统还能访问吗?
14.1.概要设计
14.2.详细设计
14.2.1.前端性能优化
14.2.2.服务端性能优化
14.2.3.存储端性能优化
14.3.小结
第十五章 限流器设计:如何避免超预期的高并发压力压垮系统?
15.1.需求分析
15.2.概要设计
15.2.1.限流模式设计
15.2.2.高可用设计
15.3.详细设计
15.3.1.配置文件设计
15.3.2.固定窗口(Window)限流算法
15.3.3.滑动窗口(Sliding Window)限流算法
15.3.4.漏桶(Leaky Bucket)限流算法
15.3.5.令牌桶(Token Bucket)限流算法
15.4.小结
第十六章 高可用架构的十种武器:怎么度量系统的可用性?
16.1.第一种武器:解耦
16.2.第二种武器:隔离
16.3.第三种武器:异步
16.4.第四种武器:备份
16.5.第五种武器:重试
16.6.第六种武器:熔断
16.7.第七种武器:补偿
16.8.第八种武器:限流
16.9.第九种武器:降级
16.10.第十种武器:多活
16.11.小结
第五篇 安全系统架构
第十七章 Web应用防火墙:怎样拦截恶意用户的非法请求?
17.1.需求分析
17.2.概要设计
17.3.详细设计
17.3.1.XSS跨站点脚本攻击
17.3.2.SQL注入攻击
17.3.3.CSRF跨站点请求伪造攻击
17.3.4.注释与异常信息泄露
17.4.小结
第十八章 加解密服务平台:如何让敏感数据存储与传输更安全?
18.1.概要设计
18.1.1.部署模型
18.1.2.加解密调用时序图
18.2.详细设计
18.2.1.密钥领域模型
18.2.2.核心服务类设计
18.2.3.加解密数据接口VenusData设计
18.2.4.测试用例代码demo
18.3.小结
第十九章许可型区块链重构:无中心的区块链怎么做到可信任?
19.1.需求分析
19.2.概要设计
19.3.详细设计
19.3.1.Taireum联盟共识控制台
19.3.2.Taireum联盟新成员许可入网
19.3.3.Taireum授权打包区块
19.4.小结
第六篇 网约车架构
第二十章 网约车系统设计:怎样设计一个日赚5亿的网约车系统?
20.1.需求分析
20.2.概要设计
20.3.详细设计
20.3.1.长连接管理
20.3.2.距离计算
20.3.3.派单算法
20.3.4.订单状态模型
20.4.小结
第二十一章 网约车系统重构:如何用DDD重构网约车系统设计?
21.1.DDD的一般方法
21.2.DDD 重构设计
21.3.小结
第二十二章 大数据平台设计:如何用数据为用户创造价值?
22.1.网约车大数据平台设计
22.1.1.大数据采集与导入
22.1.2.大数据计算
22.1.3.数据导出与应用
22.2.大数据派单引擎设计
22.3.小结

教学资源推荐
作者: [美]布鲁斯·埃克尔(Bruce Eckel) 戴安娜·马什(Dianne Marsh) 著