本文接上篇文章:大型网站架构演化过程(一 )
3. 使用应用服务器集群改善网站的并发处理能力
使用集群是网站解决高并发,海量数据问题的常用手段。当一台服务器的存储空间不足hi抵抗并发压力时,不要企图去更换更强大的服务器,对于大型网站,不管一台多么强大的服务器,都无法满足用户量,数据量的持续增长。如果遇到这种情况下,下面的方案也许是适合你的。如图所示。
对于网站的架构,只要能通过增加一台服务器的方式改善负载压力,那么可以同样的继续增加服务器改善更大的服务器压力。从而实现服务器的伸缩性。如果用户量不停的增长,可以在集群中加入更多的应用服务器,使服务器的负载压力不再是整个网站的瓶颈。
4. 数据库读写分离
网站使用缓存后,使绝大部分数据读操作访问都可以不通过数据库就能完成,但是还有一部分读操作(例如:缓存过期等)和全部的写操作都需要访问数据库,在网站的用户达到一定的规模后,数据库会因为负载压力过高成为网站的瓶颈。现在主流数据库提供主从热备功能,通过配置数据库主从关系,将数据分散到不同的数据库服务器上,实现读写分离,改善服务器的负载压力。如图所示。
应用服务器在读取数据的时候,访问主数据库,住数据库可以通过主从复制的机制将数据更新到从数据库,这样应用服务器读取数据的时候,就可以通过从数据库获得数据,为了方便应用程序访问读写分离后的数据库,可以在应用服务器端使用专门的数据访问模块,是数据库的读写分离对应用更透明。
5. 使用反向代理和CDN加速网站的响应
业务不断的发展,数据不断的增长,由于复杂的网络环境,不同地区的用户访问网站时,速度差别也大,如果用户觉得网站访问慢,就会失去等待网站响应的的信心,可能就失去了这个用户。为了更好的用户体验,网站就得加强访问速度,目前主要的手段是CDN和反向代理。(若有其他好的方式,望广大网友提供资料,共同学习,成长)。具体的部署如下图所示。
使用CDN和反向代理的目的,是能够当用户访问数据的时候,最快的把数据返给用户,给用户的体验感,速度快,另外也减轻了后端服务器的负载压力。
继续请看:大型网站架构演化过程(三)
本文内容:参考了 李智慧的文献资料。本文不做商业用途,只为学习和交流,若有侵权,请尽快联系,我会尽早删除。在此谢谢那些为技术行业付出的工作者们。