1、初始阶段
初创起步阶段。应用程序、数据库、文件等所有资源都在一台服务器上。
2、应用和数据分离
2到3台服务器,应用、数据库和各种上传文件各占一台。
3、添加缓存服务器
二八定律:80%的业务访问集中在20%的数据,缓存这批数据,改善性能。
4、使用应用服务器集群
加入负载均衡器 + 应用服务器集群。一台服务器不堪重负,不要想着去换更强大的服务器,应该增加服务器。
5、数据库读写分离
这个好像可以提前到第二步。
使用主从数据库。
6、反向代理 + CDN
反向代理 和 CDN 基本原理都是缓存,缓存静态资源。CDN可以让用户请求到离自己最近的机房数据。反向代理是将能自己处理的请求进行处理,无须进入到真正的服务器端。
7、分布式文件系统 和 分布式数据库
8、使用NoSql 和 搜索引擎
搜索引擎是指Lucene之类吧。
9、业务拆分
这一步骤应该可以插在任何一个步骤之间吧?
10、分布式服务