代码改变世界

《大型网站技术架构》读后感(二)

2020-04-15 21:54  一念永恒s  阅读(133)  评论(0编辑  收藏  举报

    网站的访问特点与现实世界的财富分配一样遵循二八定律:80%的业务访问集中在20%的数据上。淘宝买家浏览的商品集中在少部分成交数多、评价良好的商品上:商品搜索关键词集中在少部分热门词汇上。
    既然大部分的业务集中在一小部分数据上,那么如果把这一小部分缓存在内存中,是不是就可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能呢?
网站使用的缓存可以分为两种,缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。本地缓存的访问速度会快一些,但是收到应用服务器内存限制,其缓存数据量有限,而且会出现和应用程序征用内存的情况。远程分布式可以使用集群的方式,部署大内存的服务器最为专门的缓存的、服务器,可以在理论上做到不受内存容量限制的缓存服务,如下图所示:

 

 

 

    使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力存储空间不足时,不要企图去换更大的服务器,对于大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。在这用情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。
对于网站架构而言,只要通过一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统的可伸缩性。应用服务器实现集群是网站可伸缩集群架构设计中比较成熟的一种,如图所示: