项目只是载体,更深层次的知识等待我去挖掘。
一、书籍信息
大型网站技术架构.核心原理与案例分析(李智慧)
二、阅读目的
了解技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。
三、网站架构
网站架构演进:
初始网站架构(应用程序、文件、数据库在同一服务器上,如租用的阿里云服务器)
应用服务器(CPU)、数据库服务器(内存)、文件服务器分离(硬盘)
使用缓存减少数据库访问压力
使用负载均衡调度和集群减少应用服务器压力
数据库读写分离
CDN和反向代理
分布式文件系统和分布式数据库
noSQL和搜索引擎
业务拆分
网站架构模式:
分层:应用层、服务层、数据层
分割:高内聚低耦合
分布式:必须调用网络、宕机概率大、数据一致性保持
集群:多台服务器部署相同应用
缓存:CDN/反向代理/本地缓存/分布式缓存(数据访问热点不均衡、数据不会很快过期)
异步:消息队列(可以缓解高峰)
冗余:数据备份
安全:密码、验证码、访问控制等
四、web前端(这里和大型网站建设指南那本书重复,讲的规则类似)
Web前端性能优化:
浏览器访问优化:
减少HTTP请求(将js、css等文件合并)
使用浏览器缓存
启用压缩(如Gzip)
CSS放在页面最上面、JS放在最下面(下载完全部CSS再进行渲染)
减少Cookie传输
CDN加速:本质仍然是缓存,缓存静态资源
反向代理:位于机房、代理Web服务器接收HTTP请求,可以实现负载均衡和缓存功能