- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大型网站技术架构核心原理与案例分析方案
大型网站技术架构核心原理与案例分析
2015年8月
2
大型网站架构演化
京东案例:
2011年末,京东图书促销,并发访问过高
浏览页“Service is too busy”
紧急采购10台服务器,依然如故
刘强东请信息部们人员“喝茶”
12306铁路订票网:
2012年初,12306春运期间崩溃
运营时间很短,缺乏大规模并发处理经验
12306架构师对这种访问趋势没概念
导致直接崩溃,12306被媒体技术“喷”
原因:网站技术架构的问题
互联网发展短短20多年的时间,世界发生了巨大变化:
信息检索
电子商务
文化娱乐
社交通信
问题:
一边是火热的发展,一边是不堪重负的网站架构,如何打造高可用、高性能、易扩展、可伸缩且安全的网站,并且迅速能够实现应用。
3
高并发、大流量:
Google日均PV数35亿,日均IP访问数3亿;腾讯QQ1.4亿在线;淘宝12年双11,活动开始一分钟1000万访问用户
高可用:7X24小时服务,不间断
海量数据:需要存储管理海量数据,需要大量的服务器,百度收录数百亿网页;Google有百万台服务器在全球
用户分布:用户分布范围广,全国甚至全球,各地网络环境千差万别,运营商互联互通的问题
安全环境恶劣:互联网的开放性,使得网站更容易受到攻击,很多网站泄露密码及重要数据,用户也受到影响
需求变更频繁快速:和传统软件不同,互联网产品为了快速适应市场,满足用户需求,产品发布频率高,新版本不
断上线
渐进式发展:不是所有网站一开始就是大而全,都是从小网站逐渐发展起来的,好的网站都是慢慢运营出来
大型网站架构演化
大型网站软件系统的特点
4
大型网站架构演化发展历程
初始阶段的小网站
应用服务与数据服务分离
使用缓存改善网站性能
应用服务器集群提高并发处理能力
数据库读写分离
反向代理和CDN加速网站响应
分布式文件系统和分布式数据库
使用NOSQL和搜索引擎
业务拆分
分布式服务
发展历程
5
大型网站架构演化发展历程
初始阶段的小网站
应用程序、数据库、文件等所有资源在一台服务器上,操作系统通常为Linux、应用程序用PHP开发,部署在Apache上,数据库使用MySQL,汇集各种免费开源软件及一台廉价的服务器就可以开始网站的运营和发展
6
大型网站架构演化发展历程
应用和数据分离:
改善访问性能和数据存储,支持业务继续发展
业务发展
1、越来越多的用户访问(性能变差)
2、越来越多的数据存储(存储空间不足)
应用和数据分离
1、应用服务器单独一台服务器
2、文件服务器单独一台服务器
3、数据库服务器单独一台服务器
侧重点:
应用服务器需要强大CPU用于计算逻辑
文件服务器需要大磁盘存储文件
数据库服务器需要大内存和快速磁盘
7
大型网站架构演化发展历程
使用缓存改善网站性能:
减少数据访问压力,改善数据库写性能
网站访问的二八定律
1、80%的访问集中在20%的数据上
2、20%数据集中在内存缓存
网站使用缓存
1、本地缓存
2、远程分布式缓存
重点:
本地缓存速度快,缓存数据量有限
远程分布式缓存采用集群
瓶颈即将出现在单一的应用服务器
8
大型网站架构演化发展历程
使用应用服务器集群改善网站并发处理能力
业务持续发展
1、访问用户持续增加
2、网站访问性能不佳
应用服务器集群
1、通过负载均衡将访问分发应用服务集群
2、应用服务器集群是可伸缩性的
重点:
不要去试图更换强大的服务器
采用服务器集群是更好的扩展性能的方式
即将出现的瓶颈为数据库服务器
大型网站架构演化发展历程
数据库读写分离:改善数据库负载过高
业务持续发展
1、数据库不能避免读写操作
2、用户增多,数据库负载过高
数据库读写分离
1、数据库主从关系
2、数据更新同步
重点:
数据库读写分离,从数据库主读
应用服务器访问数据模块需要改造
网站响应的问题解决网络复杂的问题
大型网站架构演化发展历程
使用反向代理和CDN加速网站响应
网络环境复杂
1、用户分布范围广
2、网络环境复杂
反向代理和CDN
1、CDN虚拟网络,加速访问响应
2、直接访问反向代理服务器
重点:
CDN节点重新定向访问用户最优原则
反向代理和CDN基础应用都为缓存技术
分布式文件系统和分布式数据库
持续的业务发展
1、不是任何一台几台服务器可以支撑
2、分布式文件服务器和分布式数据库服务器
分布式数据库是网站数据库拆分的最后一招
1、数据拆分
2、业务拆分
重点:
服务器集群的应用
数据库服务器集群的模式
NOSQL数据库和搜索引擎的技术引应用
分布式文件服务器和分布式数据库应用
大型网站架构演化发展历程
文档评论(0)