一、大型网站系统的特点高并发,大流量: 需要面对高并发用户,大流量访问,google日均PV数为35亿,日均IP访问数为3亿,2011年腾讯QQ最大用户在线数1.4亿,淘宝2012年双11活动一天交易额191亿,活动开始第一分钟独立访问用户达1000万
拓展: PV、UV、IV的概念高可用: 7 * 24小时不间断提供服务 。大型网站的宕机一般会成为焦点,例如2010年百度域名被黑客劫持事件,双11淘宝宕机事件,12306网站并发数过高的宕机事件,微博流量明星宕机事件 。
PV: PV访问量(Page View),即页面访问量,每打开一次页面PV计数+1,刷新页面也是 。
UV: UV访问数(Unique Visitor)指独立访客访问数,一台电脑终端为一个访客 。
IV: IV是IP访问数指独立IP访问数,计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数 。在同一个计算时段内不管这个IP访问多少次均计算为1次 。计算时段有以1天为一个计算时段,也有以1个小时为一个计算时段 。
文章插图
【大型网站架构设计 10 步骤,大流量高并发不用慌】
海量数据:需要存储管理海量的数据,同时需要大量服务器,Facebook 每周上传的照片数目接近10亿,百度收录的网站有百亿,Google有接近百万台服务器为全球用户提供服务 。
用户分布广泛,网络情况复杂:许多大型互联网公司都是为全球用户提供服务,各地网络情况千差万别,在国内,还有各个运营商网络互通难的问题,而中美光缆的数次故障,也让很多互联网公司不得不考虑在海外建立数据中心 。
安全环境恶劣: 由于互联网的开放性,使大型互联网公司更易遭到黑客的攻击,例如facebook用户泄漏事件 。
文章插图
需求快速变更,发布频繁: 和传统的企业级应用不同,互联网公司为快速适应市场,满足用户需求,其产品发布频率是极高的 。至于中小型互联网公司的发布频率,那就更高了,有时候一天会发布十几次
渐进式发展: 与传统行业一开始规划好全部的功能和非功能的需求不同,很多大型互联网公司都是从小公司开始做起,渐进的发展起来的 。Facebook的创始人扎克伯克在哈佛的宿舍开发出来的,阿里巴巴是诞生在马云家的客厅的,好的互联网产品都是迭代出来的,不是一开始就发展的很好的 。
二、大型网站的演变过程1. 初始阶段的网站架构
大型网站都是从小型网站发展起来的,网站架构也是一样,网站刚开始搭建处于雏形阶段,访问量小,一台服务器完全够用,也是大部分企业级应用的选择
文章插图
应用程序,数据库,文件都部署在一台服务器的,通常服务器选用linux,应用程序选用php,然后部署在Apache 上,数据库使用MySQL,汇集各种开源软件以及一架廉价的服务器就可以进行开发2. 应用服务和数据分离
随着业务的发展,一台服务器不能满足业务需求:越来越多的用户访问导致性能越来越差,越来越多的数据导致服务器存储空间不足,这就需要将应用和数据分离 。应用和数据分离后整个网站使用三台服务器,应用服务器,文件服务器,数据库服务器
文章插图
应用和数据分离后,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储都得到了很大的改善,支持业务的进一步发展 。但是随着业务的增多,访问量增大,网站又一次面临挑战,数据库压力太多导致访问延迟,进而影响整个网站的性能,用户体验收到影响3. 使用缓存改善网站性能
网站访问特点和现实世界的财富分配通常符合二八定律: 80%的业务访问集中在20% 的数据上,淘宝买家浏览的商品集中在少部分成交数多、评价良好的商品上;百度搜索的关键词集中在少部分热门词汇上,搜索出来的词条你也会浏览前两页的内容 。
既然大部分的浏览都只会放在一小部分数据上,那么是否能把这些数据缓存起来放在内存中,是不是就可以减少数据库的压力,从而提高整个网站的数据访问速度,改善数据库的写入性能了呢?
推荐阅读
- RESTful 架构基础
- AMD|Intel新CPU专利架构被指1比1复制AMD Zen 真相反转:原来误会一场
- SEO网站审查手册,有哪六个必备须知?
- 黑客汇集的秘密基地,这7个技术网站你都知道吗?
- Python后端架构演进
- 网站如何提高百度权重如何优化
- 浅谈Nginx服务器的内部核心架构设计
- LNMP架构下各项配置优化总结
- 如何优化你的网站让其更加符合Google优化推广规则?
- 如何解决最新PHPstudy”后门事件”网站被挂木马