大型互联网应用系统的演化过程
大型互联网应用系统的特点
1.高并发,大流量
2.高可用
3.海量数据
4.用户分布广,网络情况复杂
5.安全环境恶劣
6.需求变更频繁
7.渐进式发展
网站架构的发展
1.初始阶段
2.继续升级,应用服务和数据服务分离
不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储空间得到了很大的改善。
3.继续升级, 使用缓存改善网站性能
80%的业务访问集中在20%的数据上
把这一小部分的数据缓存在内存中,改善数据库访问的压力?
使用缓存后,数据访问压力得到有效缓解,但是单一应用服务器能够处理的请求有限。
4.继续升级,应用服务器进行集群改善网站的并发处理能力
5.继续升级,数据库读写分离
通过配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。实现读写分离,改善数据库负载压力。
应用服务器写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库。
应用服务器读数据的时候,可以通过从数据库获得数据。
6.继续升级,使用反向代理和CDN加速网站响应
网站访问慢,用户越容易失去耐心而离开。
通过CDN加速,用户请求网站服务,可以从距离自己最近的网络提供商的机房获取数据。
反向代理,部署在网站的中心机房,如果反向代理服务器中缓存着用户请求的资源,将直接返回给用户。
7.继续升级,使用分布式文件系统和分布式数据库系统
业务分库,将不同的业务的数据库部署在不同的物理服务器上。
8.使用NoSQL和搜索引擎
9.业务拆分
10.分布式服务
随着业务拆分越来越小,存储系统越来越庞大。部署维护越来越困难。