大型网站技术架构笔录(1):演化

一)大型网站软件系统特点:
1)高并发、大流量:想想每年双十一
2)高可用:7*24小时不间断服务
3)海量数据:存储管理海量数据
4)用户分布广泛,网络情况复杂
5)安全环境恶劣:黑客,黑客,黑客
6)需求快速变更,发布频繁:快速适应市场,满足用户需求
7)渐进式发展:大型网站都是从小网站开始的

二)大型网站架构演化过程
1)初始阶段网站架构:应用程序、数据库、文件等所有资源都集中在一台服务器,LAMP架构。
瓶颈:各种压力大,不说了。

2)将应用和数据库从物理上分离,变成了3台机器。
应用服务器(CPU强),数据库服务器(快速存储与查询,大快硬盘),文件服务器(存储用户上传文件,大硬盘)
瓶颈:数据库压力大,导致访问延时。

3)增加缓存,采用缓存机制来减少数据库连接资源的竞争和对数据库读的压力,二八定律。
缓存分为:本地缓存和远程缓存(可以是分布式的),本地缓存访问速度快,但数据量有限;远程分布式缓存可以集群,因此容量不受限制

   

4)服务器集群,改善并发处理能力
增加服务器,系统可伸缩性。负载平衡调度,分发用户访问请求。

5)数据库读写分离
缓存解决不了全部问题,还是要访问数据库的,不够用。
主从热备功能,一主几从,同步更新。
写数据,访问主数据库,再同步更新到从数据库,读时就可以从从数据库获得数据。
读写分离对应用透明。

6)反向代理、CDN加快响应
基本原理都是缓存,CDN使用户就近的网络服务商访问,反向代理器部署在中心机房,用户请求先访问反向代理器,如有缓存资源直接返回给用户。
CDN和反向代理加快了响应速度,减轻了后端服务器压力。

7)分布式文件系统、分布式数据库系统
单机系统是注定满足不了持续增长的需求的,所以分布式,分布式

   

8)NoSQL和搜索引擎
NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

9)业务拆分
网络业务拆分成不同的产品线和应用,比如购物系统分为首页、商铺、卖家、订单等业务,通过消息系统进行数据分发,通过数据存储系统构成完整关联系统。

10)分布式服务
业务越拆越多,提取公用业务,独立部署。用户系统仅维护页面,通过分布式服务调用共有服务完成具体业务。

   

驱动大型网站技术发展的是业务需求,没有需求就没有生产力的说。

   

参考:
http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html
http://www.cio.com.cn/eyan/17172.html
http://www.cnblogs.com/edisonchou/p/3773891.html
https://blog.linuxeye.com/401.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One2zeror

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值