题图:by thefolkpr0ject from Instagram
上篇文章讲了一些高并发相关的知识,相信大家对高并发有些简单的认识。说到高并发,往往离不开分布式系统。人们经常将两者拿来一起讨论,因为高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一。可以这么说,目前应用商城上很多社交应用,网络游戏的后台服务都是分布式服务。那具体什么催生出今天的分布式系统呢?文章的主要内容是讲讲大型网站的服务架构演变。
01
初始阶段的网站架构
在互联网展露出萌芽的网络时代,网站基本都是小型网站。网站的访客也不是很多,通常会将应用程序、数据库、文件等所有资源都在一台服务器上。这里为 Java Web 服务为例。网站开发者可以使用 Tomcat 等 Web 容器直接运行 JSP 程序,然后将数据存储到数据库,文件直接存放到服务器的磁盘中。就像这样子:
02
应用服务和数据分离
随着网站业务的发展和用户量的增加,一台服务器就无法再满足需求了。大量用户访问导致访问速度越来越慢,而逐渐增加的数据也会导致存储空间不足。这时需要将 Web 应用和数据分离,分别将存放到不同的服务器:应用服务器、文件服务器和数据库服务器。这样不仅提高了单台机器的负载能力,也提高了容灾能力。