读书计划__《大型网站技术架构》
一、架构演变
不断迭代的架构图:
切记: 不要为了追求技术而设计架构, 而是为了业务来使用技术.
二、网站架构模式
- 分层: 应用层,服务层,数据层
- 分割:业务拆分
- 分布式:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算、分布式配置、分布式锁、分布式文件
- 集群: 同一个集群配置相同项目,一个出错访问另外的
- 缓存:CDN、反向代理、本地缓存、分布式缓存
- 异步:提高系统可用性、加快网站响应速度、消除并发高峰(rabbitMQ)
- 冗余:冷备份,热备份,灾备中心
- 自动化:自动化发布、自动化代码管理、自动化测试、自动化安全测试、自动化部署、自动化监控 、自动化报警、自动化失效转移、自动化失效恢复、自动化降级、自动化分配资源
- 安全:加密、验证码、XSS、SQL注入、风险控制
三、大型网站架构核心要素
1、性能
2、可用性:一台宕机,其他的顶上
3、伸缩性:容易向集群中加入新的服务器
4、扩展性:方便业务进行扩展
5、安全性
四、瞬时响应:网站的高性能架构
- 网站性能测试
- web前端性能优化:减少HTTP请求,浏览器缓存、数据压缩、css放上面,js放下面,较少cookie传输、 cdn加速、 反向代理
- 应用服务器性能优化:分布式缓存、异步、集群、代码优化
- 存储性能优化:机械硬盘和固态、B+树和LSM树文件数据索引排序(排序后方便读取)、RAID和HDFS