阶段一:单体应用架构
网站发展的初期,所有的应用都部署在同一台服务器。
阶段二:应用服务器和数据库服务器分离
随着互联网的发展,网站上线之后,用户的访问量持续增加,服务器的负载压力变大,而在代码层面的优化没有什么进步,所以从硬件方面考虑,增加服务器的数量,应用服务器和数据库服务器分离,尽可能提高性能。
阶段三:应用服务器集群
随着互联网的进一步发展,访问人数日益增加,应用服务器的负载压力急剧增大,选择增加应用服务器的数量,搭建集群,将访问的流量分发到各个服务器,从而提升服务器的负载。
架构发展到这个阶段,各种问题也会慢慢呈现
1. 用户请求由谁来转发到具体的应用服务器
2. 用户如果每次访问到的服务器不一样,那么保持session一致性
阶段四:数据库读写分离
随之数据库的负载压力也变大,为了提高负载,参考应用服务器的方式,增加一台数据库服务器,采用读写分离的方式。
阶段五:引入搜索引擎缓解读库压力
由于数据库对模糊查询并不是非常的友好,但是有些网站搜索是核心功能,这个时候就要引入搜索引擎了,搜索引擎可以极大的提高查询速度。
阶段六:引入缓存缓解数据库压力
阶段七:数据库的水平垂直拆分
水平拆分:
阶段八:应用的拆分