大型网站架构演化发展历程:
-
初始阶段
image.png
-
应用服务和数据服务分离:不同特性的服务器承担不同的角色
image.png
-
使用缓存改善网站性能:大部分的业务访问集中在一小部分数据上(二八定律)。缓存一般分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式服务器上的远程缓存(本地缓存受应用服务器内存限制,但速度快,比如类似使用HashMap缓存数据)
image.png
-
使用应用服务器集群改善网站的并发处理能力:增加服务器分担原服务器的访问及存储压力(添加负载均衡调度器)
image.png
-
数据库读写分离(部分读操作可能缓存访问不命中或者缓存过期,需要访问数据库;写数据写主库,通过主从赋值同步主从数据库)
image.png
-
使用反向代理和CDN加速网站响应(一方面加快用户访问速度,另一方面减轻后端服务器的负载压力,其实也是通过缓存用户请求的资源)
image.png
-
使用分布式文件系统和分布式数据库系统
image.png
-
使用NoSQL和搜索引擎(对数据存储和检索的需求趋于复杂)
image.png
-
业务拆分(拆分成不同应用,每个应用独立部署维护,应用之间通过消息队列进行数据分发)
image.png
-
分布式服务(提取共用业务,独立部署,由这些可复用的业务连接数据库,减少对数据库连接的占用)
image.png
image.png










网友评论