前言
先点赞再观看,要有好习惯
几乎所有的大型应用都是从一个小应用开始的,好的互联网产品是慢慢运营出来的,不是一开始就开发好的,所以本篇我们来聊聊应用架构的演进历程。
如何打造一个高可用,高性能,易扩展的应用?首先我们了解一下大型应用的特点:
- 高可用:系统需要不间断的提供服务,不能出现单点故障
- 高并发:在大流量的冲击下,系统依然稳定提供服务
- 大数据:应用每天都会产生大量的数据,需要存储和管理好这些数据
最简单的架构
刚开始应用没有太多访问量,所以只需要一台服务器,这时候的架构如下图:
应用程序、文件、数据库往往都部署在一台服务器上。应用程序可以采用Java开发,部署在Tomcat服务器上,数据库可以使用开源的MySQL
应用与数据服务分隔
随着应用的业务越来越复杂,应用访问量越来越大,导致性能越来越差,存储空间严重不足,这时候我们考虑把服务增加到三台(能通过加机器解决的问题都不是问题);分离出应用服务器、数据库服务器、文件服务器。
- 应用服务器需要处理大量的访问,所以需要性能更好的CPU
- 数据库服务器需要存储大量的数据以及快速的检索,所以需磁盘的检索速度较快以及存储空间大
- 文件服务器需要存储上传的文件,需要更大的磁盘;现在通常情况下会选择第三方的存储服务
根据每个服务器对应的场景,配置服务器后应用的性能能够大大提高,更好的支持业务的发展。但是随之业务的发展,访问量的增大,这种架构又将再次面临挑战,应用服务器处理能力下降,存储空间不足