Reborn's Blog

《大型网站技术架构》读书笔记

2019-01-25·Architecture, System Design, Reading Notes

第一章:大型网站架构演化

大型互联网系统特点:高并发大流量、高可用、海量数据、用户分布广泛、安全环境恶劣、需求快速变更、渐进式发展。

架构发展过程

  1. 初始阶段:单服务器,应用+文件+数据库都在一台
  2. 应用与数据分离:应用服务器 + 数据库服务器 + 文件服务器
  3. 加入缓存:本地缓存 + 分布式缓存
  4. 集群方式:多台应用服务器组成集群
  5. 数据库读写分离:主库写 + 从库读
  6. 反向代理和 CDN:加速静态资源访问
  7. 分布式文件系统和分布式数据库
  8. NoSQL 和搜索引擎
  9. 业务拆分:不同应用独立部署
  10. 分布式服务

第二章:架构模式

  • 分层:应用层、服务层、数据层
  • 分割:纵向切分不同功能模块
  • 分布式:分布式应用、静态资源、数据存储、计算
  • 集群:多台服务器部署相同应用
  • 缓存:CDN → 反向代理 → 本地缓存 → 分布式缓存
  • 异步:消息队列,提高可用性、加快响应、消除并发高峰
  • 冗余:服务器冗余备份,实现高可用
  • 自动化:代码管理、测试、部署、监控

第三章:核心架构要素

  1. 性能:浏览器缓存、CDN、反向代理、缓存、异步、集群、代码优化、数据库优化
  2. 可用性:冗余备份,应用 + 数据双冗余
  3. 伸缩性:向集群增加服务器来应对压力
  4. 扩展性:事件驱动架构 + 分布式服务
  5. 安全性

第四章:高性能架构

性能测试指标

  • 响应时间、并发数、吞吐量(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