本篇文章我们学习架构演进的初始阶段。我们来看一下,互联网系统是如何从小网站逐步变大的,我们过一遍架构演进的历程,让大家对系统的演化心中有个谱。但是,这里面首先说明一点,并不是所有的网站都是像我下面所说的这样演进的,我说的只是个大概,不是统一的表达,就像我们前面所说的架构设计,没有统一的模式。
初级阶段
我们从网站的初始阶段开始说起。大型的网站都是从小网站发展起来的。假如我们现在是一个创业公司,我们要做一个项目,我们设计了一个架构,然后就上手开发了一个web程序,只有一台物理机器,我们把应用程序部署到这台服务器上。然后还需要好多的文件,比如有用户上传的文件,需要用到一个磁盘目录或者说是一个文件系统,不过都是在这台服务器上。然后应用程序还需要数据库。
这就是我们最开始的一个网站,很简单的一个模型,因为最开始这个项目使用的人特别少,数据量也不是很大,我们用一台服务器足够了。应用程序、数据库和文件的所有的资源在一台机器上,通常我们服务器的操作系统用linux。
服务器拆分
然后,随着网站业务的进一步发展,一台服务器无法满足需求。越来越多的用户访问了,导致我们的性能越来越差;越来越多的数据,导致我们的磁盘空间越来越不够。
那我们怎么优化呢?做服务器拆分。目前阶段来说,公司开发项目大部分都是这么做的,我们把文件拿出去,把数据库拿出去