大型网站技术架构
2015-08-15 20:53
513 查看
初始阶段
小型网站的架构很简单,访问量很少,一台服务器充当应用服务器、数据库服务器和文件服务器都绰绰有余。
应用服务与数据服务分离
随着业务量的增大,业务的处理能力遇到了瓶颈。CPU总是满负荷,文件越来越多,而数据库越来越繁忙。这时候需要增加服务器,将服务器的职能进行划分,分别是应用服务器、文件服务器和数据库服务器。
缓存技术改善网站性能
网站访问量的规律与现实世界中的财富分配一样遵循二八原则。80%的业务集中在20%的数据中,比如百度搜索的关键字集中在少数的热门词汇中,淘宝前几页的商品占了大部分的交易量。网站的架构设计依据这样的特点,将20%经常访问的数据缓存到访问数据快的内存中,可以降低响应时间。
网站的缓存分为 1)本地缓存 和 2)远程缓存。
集群技术提高网站的并发能力
组建应用服务器集群,再通过反向代理服务器做负载均衡,是目前普遍的方案。这样方便水平扩展,但是也引来了会话保存的问题。
数据库读写分离
虽然做了缓存,但是仍有一部分操作需要访问数据库,达到一定数量后,数据库的负载会过高,成为网站的瓶颈。通过主从热备功能,可以将一台数据库的数据同步更新到另一台。应用服务器需要写数据的时候,访问主库,需要读的时候,访问从库,系统因此能获得更高的处理性能。
使用反向代理和CDN加速网站响应
CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求服务时,从距离最近的ISP获取数据。反向代理是请求到达网站服务器后,从反向代理服务器中取缓存直接返回给用户。
分布式文件系统和分布式数据库系统
分布式数据库系统是网站数据库拆分的最后杀手锏,在单表数据规模非常非常巨大的时候才会使用。不到不得已,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理机器上。文件系统也是一个道理,需要使用分布式文件系统。
相关文章推荐
- 《大型网站技术架构》学习笔记——大型网站核心架构要素
- 《大型网站技术架构》笔记:大型网站架构演化
- 大型网站技术架构 读书笔记2.3 核心架构要素之可伸缩
- 大型网站技术架构笔录(1):演化
- BAT架构师分享之:大型网站技术架构
- 《大型网站技术架构》读书笔记
- 小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐
- 《大型网站技术架构》读书笔记--网站的高性能架构
- 大型网站技术架构03
- 大型网站技术架构小结
- 大型网站技术架构
- 大型网站技术架构(Note)
- 《大型网站技术架构》读书笔记之五:万无一失之网站的高可用架构
- PHP技术:大型网站架构不得不考虑的10个问题
- 《大型网站技术架构》1:概述 分类: C_OHTERS 2014-05-07 20:40 664人阅读 评论(0) 收藏
- 五一技术关注:说说大型高并发高负载网站的系统架构
- 大型网站技术架构:核心原理与案例分析阅读笔记四
- 大型网站架构技术一览
- 大型网站技术架构