硬核:浅谈大型网站的架构

2019/1/29
最开始网站的应用程序、数据库、文件等所有的资源都在一台服务器上。最典型的就是LAMP技术了:服务器操作系统使用Linux,应用程序使用PHP开发,数据库使用MySQL,然后部署在Apache上。
随着网站业务的发展,一台服务器的性能和存储空间逐渐不能满足需求,这时就将应用和数据分离,整个网站使用三台服务器:应用服务器、文件服务器和数据库服务器。三台服务器对硬件资源的要求也各不相同:应用服务器需要更快更强大的CPU,数据库服务器需要更快的硬盘的更大的内存,文件服务器需要更大的硬盘。
网站访问特点和现实世界的财富分配一样遵循二八定律:80%的业务访问集中在20%的数据上。把大部分业务访问的小部分数据缓存在内存中,可以减少数据库的访问压力,提高整个网站的数据访问速度。
 
缓存可以分为两种:应用服务器上的本地缓存和分布式缓存服务器上的远程缓存。本地缓存访问速度更快,但缓存数据有限,而且会出现和应用程序争用内存的情况。远程缓存可以使用集群的方式,理论上可以做到不受内存容量的限制。
郑州APP开发,就找河南天频信息有限公司。
一台应用服务器所能处理的请求有限(一台Tomcat大概六七百),企图去换更强大的服务器也终究会满足不了持续增长的业务需求,而且网站有访问高峰期和低谷期,扩展性也不好。使用集群是网站解决高并发、海量数据问题的常用手段。通过负载均衡调度服务器,可将来自用户浏览器的访问请求分发到应用服务器集群中的任何一台服务器上。
郑州APP开发,就找河南天频信息有限公司。