网站架构发展
1 初始阶段 -- 只有一台服务器
2 应用服务和数据服务分离
3 使用缓存改善网站性能
4 使用应用服务器集群改善网站并发处理能力
5 数据库读写分离
6 使用反向代理和CDN加速网站响应
反向代理和CDN的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商获取数据;而反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器, 如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。
7 使用分布式文件系统和分布式数据库系统
分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已时,网站更常的数据库拆分手段是业务分库,将不同的业务的数据库部署在不同的物理服务器上。
8 使用NoSql和搜索引擎
9 业务拆分
10 分布式服务