大型网站技术架构
核心原理与案例分析
作品简介
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。
《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。
李智慧
曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和www.alibaba.com架构设计。
目前就职英特尔亚太研发中心从事云计算与大数据方面的研发工作。
作品目录
好评袭来
推荐序一
推荐序二
序 我为什么要写这本书
致谢
第1篇 概述
1 大型网站架构演化
1.1 大型网站软件系统的特点
1.2 大型网站架构演化发展历程
1.3 大型网站架构演化的价值观
1.4 网站架构设计误区
1.5 小结
2 大型网站架构模式
2.1 网站架构模式
2.2 架构模式在新浪微博的应用
2.3 小结
3 大型网站核心架构要素
3.1 性能
3.2 可用性
3.3 伸缩性
3.4 扩展性
3.5 安全性
3.6 小结
第2篇 架构
4 瞬时响应:网站的高性能架构
4.1 网站性能测试
1.用户视角的网站性能
2.开发人员视角的网站性能
3.运维人员视角的网站性能
1.响应时间
2.并发数
3.吞吐量
4.性能计数器
1.性能分析
2.性能优化
4.2 Web前端性能优化
1.减少http请求
2.使用浏览器缓存
3.启用压缩
4.CSS放在页面最上面、JavaScript放在页面最下面
5.减少Cookie传输
4.3 应用服务器性能优化
1.缓存的基本原理
2.合理使用缓存
3.分布式缓存架构
4.Memcached
1.多线程
2.资源复用
3.数据结构
4.垃圾回收
4.4 存储性能优化
4.5 小结
5 万无一失:网站的高可用架构
5.1 网站可用性的度量与考核
5.2 高可用的网站架构
5.3 高可用的应用
1.Session复制
2.Session绑定
3.利用Cookie记录Session
4.Session服务器
5.4 高可用的服务
1.分级管理
2.超时设置
3.异步调用
4.服务降级
5.幂等性设计
5.5 高可用的数据
1.失效确认
2.访问转移
3.数据恢复
5.6 高可用网站的软件质量保证
1.主干开发、分支发布
2.分支开发,主干发布
5.7 网站运行监控
1.用户行为日志收集
2.服务器性能监控
3.运行数据报告
5.8 小结
6 永无止境:网站的伸缩性架构
6.1 网站架构的伸缩性设计
6.2 应用服务器集群的伸缩性设计
6.3 分布式缓存集群的伸缩性设计
6.4 数据存储服务器集群的伸缩性设计
6.5 小结
7 随需应变:网站的可扩展架构
7.1 构建可扩展的网站架构
7.2 利用分布式消息队列降低系统耦合性
7.3 利用分布式服务打造可复用的业务平台
7.4 可扩展的数据结构
7.5 利用开放平台建设网站生态圈
7.6 小结
8 固若金汤:网站的安全架构
8.1 道高一尺魔高一丈的网站应用攻击与防御
8.2 信息加密技术及密钥安全管理
8.3 信息过滤与反垃圾
8.4 电子商务风险控制
1.规则引擎
2.统计模型
8.5 小结
第3篇 案例
9 淘宝网的架构演化案例分析
9.1 淘宝网的业务发展历程
9.2 淘宝网技术架构演化
9.3 小结
10 维基百科的高性能架构设计分析
10.1 Wikipedia网站整体架构
10.2 Wikipedia性能优化策略
11 海量分布式存储系统Doris的高可用架构设计分析
11.1 分布式存储系统的高可用架构
11.2 不同故障情况下的高可用解决方案
12 网购秒杀系统架构设计案例分析
12.1 秒杀活动的技术挑战
1.对现有网站业务造成冲击
2.高并发下的应用、数据库负载
3.突然增加的网络及服务器带宽
4.直接下单
12.2 秒杀系统的应对策略
1.秒杀系统独立部署
2.秒杀商品页面静态化
3.租借秒杀活动网络带宽
4.动态生成随机下单页面URL
12.3 秒杀系统架构设计
1.如何控制秒杀商品页面购买按钮的点亮
2.如何只允许第一个提交的订单被发送到订单子系统
12.4 小结
13 大型网站典型故障案例分析
13.1 写日志也会引发故障
13.2 高并发访问数据库引发的故障
13.3 高并发情况下锁引发的故障
13.4 缓存引发的故障
13.5 应用启动不同步引发的故障
13.6 大文件读写独占磁盘引发的故障
13.7 滥用生产环境引发的故障
13.8 不规范的流程引发的故障
13.9 不好的编程习惯引发的故障
13.10 小结
第4篇 架构师
14 架构师领导艺术
14.1 关注人而不是产品
14.2 发掘人的优秀
14.3 共享美好蓝图
14.4 共同参与架构
1.不要只有架构师一个人拥有架构
2.让其他人维护框架与架构文档
14.5 学会妥协
14.6 成就他人
15 网站架构师职场攻略
15.1 发现问题,寻找突破
15.2 提出问题,寻求支持
15.3 解决问题,达成绩效
16 漫话网站架构师
16.1 按作用划分架构师
16.2 按效果划分架构师
16.3 按职责角色划分架构师
16.4 按关注层次划分架构师
16.5 按口碑划分架构师
16.6 非主流方式划分架构师
附录A 大型网站架构技术一览
附录B Web开发技术发展历程
后记
载入中