《大型网站技术架构》读书笔记
2019-01-25·Architecture, System Design, Reading Notes
第一章:大型网站架构演化
大型互联网系统特点:高并发大流量、高可用、海量数据、用户分布广泛、安全环境恶劣、需求快速变更、渐进式发展。
架构发展过程
- 初始阶段:单服务器,应用+文件+数据库都在一台
- 应用与数据分离:应用服务器 + 数据库服务器 + 文件服务器
- 加入缓存:本地缓存 + 分布式缓存
- 集群方式:多台应用服务器组成集群
- 数据库读写分离:主库写 + 从库读
- 反向代理和 CDN:加速静态资源访问
- 分布式文件系统和分布式数据库
- NoSQL 和搜索引擎
- 业务拆分:不同应用独立部署
- 分布式服务
第二章:架构模式
- 分层:应用层、服务层、数据层
- 分割:纵向切分不同功能模块
- 分布式:分布式应用、静态资源、数据存储、计算
- 集群:多台服务器部署相同应用
- 缓存:CDN → 反向代理 → 本地缓存 → 分布式缓存
- 异步:消息队列,提高可用性、加快响应、消除并发高峰
- 冗余:服务器冗余备份,实现高可用
- 自动化:代码管理、测试、部署、监控
第三章:核心架构要素
- 性能:浏览器缓存、CDN、反向代理、缓存、异步、集群、代码优化、数据库优化
- 可用性:冗余备份,应用 + 数据双冗余
- 伸缩性:向集群增加服务器来应对压力
- 扩展性:事件驱动架构 + 分布式服务
- 安全性
第四章:高性能架构
性能测试指标
- 响应时间、并发数、吞吐量(TPS/HPS/QPS)、性能计数器
Web 前端优化
- 减少 HTTP 请求、浏览器缓存、压缩、CSS 放顶部/JS 放底部、CDN、反向代理
应用服务器优化
- 分布式缓存(二八定律)、异步操作(消息队列削峰)、集群、代码优化(多线程、资源复用、数据结构、垃圾回收)
第五章:高可用架构
Session 管理
- Session 复制、Session 绑定(Hash)、Cookie 记录、Session 服务器
CAP 原理
- C(一致性)、A(可用性)、P(分区忍耐性)
数据备份与失效转移
- 冷备份 / 热备份(异步/同步)、失效确认 → 访问转移 → 数据恢复
第六章:伸缩性架构
负载均衡方式
- HTTP 重定向、DNS 域名解析、反向代理、IP 层、数据链路层
负载均衡算法
- 轮询、加权轮询、随机、最少连接、源地址散列
#Architecture#System Design#Reading Notes