大并发服务器开发02

大型网站架构演变过程

web server与数据库分离
大并发服务器开发02
动静资源分离
浏览器静态请求:html、js、css、img
浏览器动态请求:jsp、php
因此web服务器可分为http服务器(主要处理静态请求)(前端服务器)与应用服务器(主要处理动态请求)(后端服务器)

缓存处理
大并发服务器开发02

  • 客户端(浏览器)缓存
  • 前端页面缓存(squid)(静态页面)
  • 页面片段缓存ESI(edge side includes)
  • 本地数据缓存

web server集群+读写分离
大并发服务器开发02
CDN、分布式缓存、分库分表
大并发服务器开发02
CDN(context delivery network)内容分发网
分布式缓存:可共享
分库分表:一定程度上避免锁竞争

多数据中心+分布式存储与计算
大并发服务器开发02
对一致性要求没有很高的数据没有必要保存在关系数据库(事务、大表、join等影响性能)中,对一致性要求较低的数据分离至数据中心使用nosql进行存储,并发性高,成本低

分布式存储:DFS、key-value DB、Map/Reduce(计算框架)(map各自统计reduce合并)