大型网站系统架构演化实例_1.单体架构和垂直架构

大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户,问题就会变得很棘手。通常大型网站架构主要解决这类问题。

1.第一阶段:单体架构

大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来,网站架构也是一样,是从小型网站架构逐步演化而来。小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,这是的网站架构如图1所示,应用程序、数据库、文件等所有资源都在一台服务器上。

图1 第一阶段网站架构

2.第二阶段:垂直架构

随着网站业务的发展,一台服务器逐渐不能满足需求,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足,这时就需要将应用和数据分离。应用和数据分离后整个网站使用3台服务器:应用服务器、文件服务器和数据库服务器。这3台服务器对硬件资源的要求各不相同:

  • 应用服务器需要处理大量的业务逻辑,因此需要更快更强大的处理器速度。
  • 数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的磁盘和更大的内存。
  • 文件服务器需要存储大量用户上传的文件,因此需要更大容量的硬盘。

此时,网站系统的架构如图2所示,应用和数据分离后,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储空间得到了很大改善,支持网站业务进一步发展。但是随着用户逐渐增多,网站又一次面临挑战:数据库压力太大导致访问延迟,进而影响整个网站的性能,用户体验受到影响。这时需要对网站架构进一步优化。

图2 第二阶段网站架构

相关推荐
J老熊18 小时前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程
架构师Wu老七1 天前
【软考】系统架构设计师-信息系统基础
系统架构·软考·系统架构设计师·信息系统基础
程序员JerrySUN2 天前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
张彦峰ZYF4 天前
DDD领域应用理论实践分析回顾
分布式·架构·系统架构·软件工程
爪哇学长5 天前
JavaFX 与其他图形库的详细比较:现代架构与性能优势
java·架构·系统架构
J老熊6 天前
RabbitMQ 在 Java 和 Spring Boot 中的应用详解
java·开发语言·spring boot·后端·系统架构·rabbitmq·java-rabbitmq
架构师Wu老七6 天前
【软考】系统架构设计师-计算机系统基础(4):计算机网络
计算机网络·系统架构·软考·系统架构设计师
银帅183350309716 天前
系统架构设计师论文
系统架构·论文笔记
架构师Wu老七6 天前
【软考】系统架构设计师-计算机系统基础(2):操作系统
系统架构·操作系统·软考·系统架构设计师
银帅183350309717 天前
2012年下半年试题一:论基于架构的软件设计方法及应用
架构·系统架构·论文笔记