大型网站技术架构 学习总结一(基础了解)

1、大型网站软件系统的特点

      高并发、高可用(7*24)、海量数据、用户分布广泛网络情况复杂、安全环境恶劣、需求更新快、渐进式发展。


2、应用服务和数据服务分离

      客户量大的时候,单独一台服务器无法满足需求,因此需要应用服务和数据服务分离。

      分离后,整个网站使用三台服务器:应用服务器,文件服务器,数据库服务器

    

      应用服务器:需要处理大量的业务逻辑,因此需要更快更强大的cpu。     

      文件服务器:需要存储大量用户上传的文件,因此需要更大的硬盘。

      数据库服务器:数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存。

     上述的每一个服务器都有自己的瓶颈。需根据不同的网站进行相关的优化。


3、使用缓存改善网站性能

      80%的业务访问集中在20%的数据上。可以考虑将这一小部分数据缓存在内存中?这样能减少db的访问压力。

      缓存的两种存放位置:


      本地缓存:速度快,内存有限制。

      专门的分布式缓存服务器:内存无限制。

      单一的应用服务器能够处理的请求连接有限,当高峰期,应用服务器会成为整个网站的瓶颈。


4、使用应用服务器集群改善网站的并发处理能力

     

5、数据库读写分离

     部分读操作、全部的写操作还是需要访问数据库,当网站规模大时,数据库成为瓶颈。可进行读写分离,如下图:



6、使用反向代理与cdn加速网站响应

      网站响应慢,客户懒得等待,都跑了。反向代理与cdn基本原理都是缓存。

      cdn :cdn部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据。

      反向代理:部署在网站的中心机房,请求过来后,首先访问的服务器是反向代理服务器,若反向代理服务器中缓存着客户请求的资源,直接返回。


    使用这两种目的都是为了尽早返回数据给用户,一方面加快用户访问速度,一方面减轻后端服务器的负载压力。



7、使用分布式文件系统与分布式数据库系统



结语:

1、因业务的发展,驱动网站架构的不断升级~首先要搞清楚业务。

2、勿一味追求大公司的解决方案,只能借鉴。

3、12306解决系统瘫痪的思路:排队机制,分时段售票等等。

4、其实我不想成为什么网站架构师,因为我只会模仿。


猜你喜欢

转载自blog.csdn.net/qq_24613517/article/details/80673974