一、初始阶段的网站架构
应用程序、数据库、文件等所有资源都在一台服务器上
二、应用服务和数据库服务分离
整个网站使用三台服务器:应用服务器、文件服务器、数据库服务器
应用服务器需要更强大的CPU
文件服务器需要更大的磁盘空间
数据库服务器需要更快的硬盘和更大的内存
三、本地缓存+分布式缓存服务器
减少数据库访问压力,改善数据库写入性能
四、应用服务器集群改善并发处理能力
单一应用服务器能处理的请求连接有限,使用应用服务器集群改善
五、数据库读写分离
利用数据库提供的主从热备功能,改善数据库负载压力
六、CDN+反向代理加速网站响应
七、分布式文件系统+分布式数据库系统
八、NoSQL+搜索引擎
九、业务拆分
根据产品线拆分,将一个网站拆分成许多不同的应用,每个应用独立部署维护。可以通过消息队列进行数据分发。
参考 《大型网站技术架构_核心原理与案例分析》