系统架构演变
架构演变是为了解决性能瓶颈
1、最初,数据库和应用服务器在一台机器上,会导致一方CPU占用高,另一方也会受到干扰,解决方案:分开部署

2、应用和数据库分开部署,应用和数据分离

3、随着用户量增加,数据库访问压力变大,导致访问延迟,性能较低,这时就需要缓存技术,将查询较多或者改动不大的数据缓存起来,以加快应用访问速度
为什么缓存技术可以增加访问速度?需要先了解硬盘数据库和Redis的工作模式,硬盘数据,先从数据读取数据到内存,内存中的数据保存到硬盘,我们更改硬盘的数据后在保存到数据库。这里的步骤较多,而且还占用我们的硬盘容量。
Redis工作模式,相比硬盘数据库的方式少了内存到硬盘这一步,速度回快很多,而且不占用我们的硬盘容量。Redis采用的是单进程单线程模型的 KV 数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS。

4、并发量更大的情况下,应用服务器就成为了整个网站的瓶颈,单一的应用服务器资源有限,高并发情况下连接很快就会超限,这时,我们就需要部署应用服务器集群,利用负载均衡器分散访问流量,减少单台服务器的压力

5、这个阶段,数据继续增加,请求数量继续加大,单个数据库已然不能满足要求,这个时候需要部署多个数据库,实现读写分离,同时CDN加速,从最近的服务器上获取资源,提高访问速度

7、分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。
不到不得已时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上。

8、微服务阶段,将各个业务进行拆分,每个业务线又可以单独部署集群,业务线之间保持通讯,实现业务解耦,一个应用节点出现问题,也不会影响其他业务正常使用


浙公网安备 33010602011771号