一般来说,大型网站都是由小型网站发展而来,初期网站架构相对简单。随着业务的复杂和用户的激增,进行了许多结构上的改进。当它是一个小网站时,访问者并不多。一般来说,一台服务器就够了。此时,所有资源(如应用程序、数据库和文件)都在一台服务器上。
然而,随着网站业务的发展和用户的增加,一台服务器已经不能满足需求。大量用户的访问导致访问速度越来越慢,数据越来越多也会导致存储空间不足。此时,有必要将应用程序与数据分开。将应用和数据分离后,整个网站使用三个服务器,即应用服务器、文件服务器和数据库服务器。这三种服务器对硬件资源的要求越来越高,它们需要更强大的CPU、更快的磁盘和更大的内存来支持这些服务器。
随着用户的不断增加,网站将再次面临挑战:数据库压力过大导致整个网站访问效率下降,影响用户体验。对于一个网站来说,大部分的业务访问都集中在20%的数据上。以微博为例,请求量最大的微博肯定是拥有千万粉丝的微博,而几乎没有人关注小号的头版。
我们可以利用这个特性将这少量的数据提前缓存在内存中,而不是每次都从数据库中读取,这样可以减轻数据库的访问压力,提高整个网站的访问速度。网站使用的缓存一般分为应用服务器或专门的分布式缓存服务器。缓存对应用服务器的访问速度快得多,但由于自身内存的限制,往往不适合。远程分布式缓存使用一个集群来负责缓存服务,在内存不足时可以轻松动态扩展。
利用应用服务器集群提高网站的并发处理能力使用缓存后,数据访问的压力有所缓解,但单个应用服务器能够处理的请求连接有限,应用服务器在网站访问高峰期成为整个网站的效率瓶颈。当一台服务器的处理能力和存储空间不足时,不要试图更换更强大的服务器。
对于大型网站来说,没有任何强大的服务器能够满足网站不断增长的业务需求。在这种情况下,增加一台服务器来分担原服务器的访问和存储压力更为合适。至于网站架构,只要增加一个服务器就可以改善负载压力,同样可以不断增加服务器,不断提高系统性能,从而实现系统的可扩展性。应用服务器集群是网站可扩展架构设计中一种简单成熟的集群。有不懂的请咨询梦飞服务器了解。