首页 行业资讯 大型网站架构发展历程
大型网站架构发展历程
时间:2023.04.04 作者:admin 热度:1718

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。下面就跟大家介绍一下大型网站架构的发展之路。

网站架构的演进与发展

1、初期网站架构

初始阶段,网站应用程序、数据库以及文件都是在一台服务器上。

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

随着网站业务的发展,一台服务器逐渐不能满足需求,这时就需要应用程序和数据分离。分离后形成应用服务器、文件服务器和数据库服务器三部分。

3、使用缓存提高网站性能

网站访问的特点就是80%的业务访问集中在20%的数据上。如果将这小部分数据缓存在内存中,可以减轻数据库的访问压力,提高整个网站的数据访问速度与数据库写入性能。而网站使用的缓存可以分为两种:应用服务器上的本地缓存和专用分布式缓存服务器上的远程缓存。

4、使用应用服务器集群提高并发处理能力

使用缓存后,有效缓解了数据访问的压力,但单个应用服务器所能处理的请求连接有限。在网站的高峰期,应用服务器成为整个网站的瓶颈。使用集群是网站解决高并发、海量数据问题的常用手段。

5、数据库读写分离

网站使用缓存后,大部分数据操作都无需经过数据库访问,但部分读操作和所有写操作仍需访问数据库。

6、使用反向代理和CDN加速网站响应

随着网站业务的不断发展,用户规模越来越大。由于中国复杂的网络环境,不同地区的用户访问网站的速度存在很大差异。为了提供更好的用户体验和留住用户,网站需要加快网站访问速度,主要是通过使用CDN反向代理。

使用 CDN 反向代理的目的是尽快将数据返回给用户。一方面可以加快用户的访问速度,另一方面也可以减轻后端服务器的负载压力。

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

任何强大的单台服务器都无法满足大型网站不断增长的业务需求。读写分离后,数据库从一台服务器分成两台服务器,但随着网站业务的发展,仍然不能满足需要。这时候就需要使用分布式数据库了,文件系统也一样,需要分布式文件系统。

8、使用 NoSQL 和搜索引擎

随着网站业务越来越复杂,对数据存储和检索的要求也越来越复杂。网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

9、业务拆分

为应对日益复杂的业务场景,大型网站采用分工、规则的方式将整个网站业务被划分为不同的产品线。从技术上看,一个网站会根据产品线划分成很多不同的应用,每个应用都会独立部署和维护。

10、分布式服务

业务拆分越来越小,存储系统就越来越大,应用系统的整体复杂度呈指数级增长,部署和维护难度也越来越大。因为所有的应用程序都需要连接数据库系统,在数以万计的服务器规模的网站中,这些连接的数量是服务器规模的平方,导致数据库连接资源不足和拒绝服务。

由于每个应用程序都需要执行许多相同的业务操作,而这些业务又可以独立提取和部署,这些可重用的服务连接到数据库提供业务服务,同时应用系统只需要管理用户界面,调用常用的业务服务,通过分布式服务即可完成具体的业务操作。

在线客服

微信客服

TOP