版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 典型互联网公司系统架构分析目录 TOC o 1-3 h z u HYPERLINK l _Toc504335690 引言 PAGEREF _Toc504335690 h 3 HYPERLINK l _Toc504335691 1、WikiPedia 技术架构 PAGEREF _Toc504335691 h 3 HYPERLINK l _Toc504335692 2、Facebook 架构 PAGEREF _Toc504335692 h 4 HYPERLINK l _Toc504335693 3、Yahoo! Mail 架构 PAGEREF _Toc504335693 h 5 HYPERLIN
2、K l _Toc504335694 4、twitter技术架构 PAGEREF _Toc504335694 h 6 HYPERLINK l _Toc504335695 5、Google App Engine技术架构 PAGEREF _Toc504335695 h 9 HYPERLINK l _Toc504335696 6、Amazon技术架构 PAGEREF _Toc504335696 h 11 HYPERLINK l _Toc504335697 7、优酷网的技术架构 PAGEREF _Toc504335697 h 14 HYPERLINK l _Toc504335698 后记 PAGEREF
3、 _Toc504335698 h 18架构之家 微信号 itfly8功能介绍 ITFLY8架构之家,专注于架构知识分享交流,涵盖项目管理和产品设计。包括大型分布式网站架构(高性能,高可用,缓存,消息队列.),设计模式,架构模式,大数据,项目管理(SCRUM,PMP,Prince2),产品设计等引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体会,何
4、乐而不为呢?特此,总结整理了诸如国外wikipedia,Facebook,Yahoo!,YouTube,MySpace,Twitter,国内如优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。 本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此番架构盛宴吧。当然,若有任何建议或问题,欢迎不吝指正。谢谢。1、WikiPedia 技术架构WikiPedia 技术架构图Copy Mark Bergsma来自wikipedia的数据:峰值每秒钟3万个HTTP请求 每秒钟3Gbit流量, 近乎375MB350 台PC服务器。GeoDNSA :40
5、-line patch for BIND to add geographical filters support to the existent views in BIND, 把用户带到最近的服务器。GeoDNS 在 WikiPedia 架构中担当重任当然是由 WikiPedia 的内容性质决定的-面向各个国家,各个地域。负载均衡:LVS,请看下图:2、Facebook 架构Facebook 搜索功能的架构示意图细心的读者一定能发现,上副架构图之前出现在此文之中:从几幅架构图中偷得半点海里数据处理经验。本文与前文最大的不同是,前文只有几幅,此文系列将有上百幅架构图,任您尽情观赏。3、Yahoo
6、! Mail 架构 Yahoo! Mail 架构 Yahoo! Mail 架构部署了 Oracle RAC,用来存储 Mail 服务相关的 Meta 数据。4、twitter技术架构twitter的整体架构设计图 twitter平台大致由、手机以及第三方应用构成,如下图所示(其中流量主要以手机和第三方为主要来源): 缓存在大型web项目中起到了举足轻重的作用,毕竟数据越靠近CPU存取速度越快。下图是twitter的缓存架构图: 关于缓存系统,还可以看看下幅图:5、Google App Engine技术架构 GAE的架构图 简单而言,上述GAE的架构分为如图所示的三个部分:前端,Datastor
7、e和服务群。前端包括4个模块:Front End,Static Files,App Server,App Master。Datastore是基于BigTable技术的分布式数据库,虽然其也可以被理解成为一个服务,但是由于其是整个App Engine唯一存储持久化数据的地方,所以其是App Engine中一个非常核心的模块。其具体细节将在下篇和大家讨论。整个服务群包括很多服务供App Server调用,比如Memcache,图形,用户,URL抓取和任务队列等。6、Amazon技术架构 Amazon的Dynamo Key-Value存储架构图 可能有读者并不熟悉Amazon,它现在已经是全球商品品
8、种最多的网上零售商和全球第2大互联网公司。而之前它仅仅是一个小小的网上书店。ok,下面,咱们来见识下它的架构。 Dynamo是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。按分布式系统常用的哈希算法切分数据,分放在不同的node上。Read操作时,也是根据key的哈希值寻找对应的node。Dynamo使用了 Consistent Hashing算法,node对应的不再是一个确定的hash值,而是一个hash值范围,key的hash值落在这个范围内,则顺时针沿ring找,碰到的第一个node即为所需。 Dynamo对C
9、onsistent Hashing算法的改进在于:它放在环上作为一个node的是一组机器(而不是memcached把一台机器作为node),这一组机器是通过同步机制保证数据一致的。 下图是分布式存储系统的示意图,读者可观摩之: Amazon的云架构图如下: Amazon的云架构图7、优酷网的技术架构 从一开始,优酷网就自建了一套CMS来解决前端的页面显示,各个模块之间分离得比较恰当,前端可扩展性很好,UI的分离,让开发与维护变得十分简单和灵活,下图是优酷前端的模块调用关系: 这样,就根据module、method及params来确定调用相对独立的模块,显得非常简洁。下图是优酷的前端局部架构图:
10、 优酷的数据库架构也是经历了许多波折,从一开始的单台MySQL服务器(Just Running)到简单的MySQL主从复制、SSD优化、垂直分库、水平sharding分库。简单的MySQL主从复制。MySQL的主从复制解决了数据库的读写分离,并很好的提升了读的性能,其原来图如下:其主从复制的过程如下图所示:但是,主从复制也带来其他一系列性能瓶颈问题:那问题产生总得解决的,这就产生下面的优化方案。写入无法扩展写入无法缓存复制延时锁表率上升表变大,缓存率下降MySQL垂直分区 如果把业务切割得足够独立,那把不同业务的数据放到不同的数据库服务器将是一个不错的方案,而且万一其中一个业务崩溃了也不会影响
11、其他业务的正常进行,并且也起到了负载分流的作用,大大提升了数据库的吞吐能力。经过垂直分区后的数据库架构图如下: 然而,尽管业务之间已经足够独立了,但是有些业务之间或多或少总会有点联系,如用户,基本上都会和每个业务相关联,况且这种分区方式,也不能解决单张表数据量暴涨的问题,因此为何不试试水平sharding呢?MySQL水平分片(Sharding) 这是一个非常好的思路,将用户按一定规则(按id哈希)分组,并把该组用户的数据存储到一个数据库分片中,即一个sharding,这样随着用户数量的增加,只要简单地配置一台服务器即可,原理图如下:如何来确定某个用户所在的shard呢,可以建一张用户和sha
12、rd对应的数据表,每次请求先从这张表找用户的shard id,再从对应shard中查询相关数据,如下图所示:缓存策略貌似大的系统都对“缓存”情有独钟,从http缓存到memcached内存数据缓存,但优酷表示没有用内存缓存,理由如下:而且Squid 的 write() 用户进程空间有消耗,Lighttpd 1.5 的 AIO(异步I/O) 读取文件到用户内存导致效率也比较低下。但为何我们访问优酷会如此流畅,与土豆相比优酷的视频加载速度略胜一筹?这个要归功于优酷建立的比较完善的内容分发网络(CDN),它通过多种方式保证分布在全国各地的用户进行就近访问用户点击视频请求后,优酷网将根据用户所处地区位置,将离用户最近、服务状况最好的视频服务器地址传送给用户,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沟通与协调打造和谐职场环境
- 生态建筑引领未来商业趋势
- 现代科技在股票市场分析中的应用
- 校园餐饮消费大数据洞察学生消费习惯
- 2024年八年级生物下册 6.2.1遗传说课稿 (新版)冀教版
- 2024年八年级物理下册 8.1认识压强说课稿 (新版)粤教沪版
- 14《普罗米修斯》(说课稿)2024-2025学年-统编版语文四年级上册
- 2024年五年级数学下册 五 分数除法练习五说课稿 北师大版
- 2024-2025学年高中历史 专题1 中国传统文化主流思想的演变 3 宋明理学说课稿 人民版必修3
- 2024-2025学年八年级物理下册 第十章 从粒子到宇宙 10.1 认识分子说课稿 (新版)粤教沪版
- 冀教版小学英语六年级下册全册教案
- 2024人工智能开源大模型生态体系研究报告
- 2024年中考语文复习分类必刷:非连续性文本阅读(含答案解析)
- 紧密型县域医疗卫生共同体慢病管理中心运行指南试行等15个指南
- YYT 0681.11-2014 无菌医疗器械包装试验方法 第11部分:目力检测医用包装密封完整性
- 辽宁省沈阳市第七中学2023-2024学年七年级下学期期末数学试题
- 2024年湖南工业职业技术学院单招职业技能测试题库附答案
- 快速入门穿越机-让你迅速懂穿越机
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 2024年四川省成都市高新区中考数学二诊试卷
- 幼儿园卫生保健开学培训
评论
0/150
提交评论