系统架构演变

架构演变是为了解决性能瓶颈

 

一、最初,数据库和应用服务器在一台机器上,会致使一方CPU占用高,另外一方也会受到干扰,解决方案:分开部署数据库

 

二、应用和数据库分开部署,应用和数据分离缓存

三、随着用户量增长,数据库访问压力变大,致使访问延迟,性能较低,这时就须要缓存技术,将查询较多或者改动不大的数据缓存起来,以加快应用访问速度服务器

为何缓存技术能够增长访问速度?须要先了解硬盘数据库和Redis的工做模式,硬盘数据,先从数据读取数据到内存,内存中的数据保存到硬盘,咱们更改硬盘的数据后在保存到数据库。这里的步骤较多,并且还占用咱们的硬盘容量。架构

Redis工做模式,相比硬盘数据库的方式少了内存到硬盘这一步,速度回快不少,并且不占用咱们的硬盘容量。Redis采用的是单进程单线程模型的 KV 数据库,由C语言编写,官方提供的数据是能够达到100000+的QPS。并发

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

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

七、分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模很是庞大的时候才使用。ide

不到不得已时,网站更经常使用的数据库拆分手段是业务分库,将不一样业务的数据库部署在不一样的物理服务器上。微服务

八、微服务阶段,将各个业务进行拆分,每一个业务线又能够单独部署集群,业务线之间保持通信,实现业务解耦,一个应用节点出现问题,也不会影响其余业务正常使用高并发

相关文章
相关标签/搜索