通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体会,何乐而不为呢?特此,总结整理了诸如国外

潍坊网站建设哪家技术知名-网络公司(潍坊网站制作公司哪家比较好)
wikipedia,Facebook,Yahoo!,YouTube,MySpace,Twitter,国内如
优酷网等大型网站的技术架构(本文重点分析优酷网的技术架构),以飨读者。
本文着重凸显每一幅图的精彩之处与其背后含义,而图的说明性文字则从简从略。ok,好好享受此番架构盛宴吧。当然,若有任何建议或
,欢迎不吝指正。谢谢。
1、WikiPedia技术架构
来自wikipedia的数据:峰值每秒钟3万个HTTP请求每秒钟3Gbit
流量,近乎375MB
GeoDNSA:40-linepatchforBINDtoaddgeographicalfilterssupporttotheexistentviewsinBIND",把用户带到近的服务器。GeoDNS在WikiPedia架构中担当重任当然是由WikiPedia的内容性质决定的--面向各个国家,各个地域。
负载均衡:LVS,请看下图:
2、Facebook架构
细心的读者一定能发现,上副架构图之前出现在此文之中:从几幅架构图中偷得半点海里数据处理经验。本文与前文大的不同是,前文只有几幅,此文系列将有上百幅架构图,任您尽情观赏。
3、Yahoo!Mail架构
Yahoo!Mail架构部署了OracleRAC,用来存储Mail服务相关的Meta数据。
4、twitter技术架构
twitter平台大致由手机以及第三方应用构成,如下图所示(其中流量主要以手机和第三方为主要来源):
缓存在大型web项目中起到了举足轻重的作用,毕竟数据越靠近CPU存取速度越快。下图是twitter的缓存架构图:
关于缓存系统,还可以看看下幅图:
5、GoogleAppEngine技术架构
简单而言,上述GAE的架构分为如图所示的三个部分:前端,Datastore和服务群。
前端包括4个模块:FrontEnd,StaticFiles,AppServer,AppMaster。
Datastore是基于BigTable技术的分布式数据库,虽然其也可以被理解成为一个服务,但是由于其是整个AppEngine存储持久化数据的地方,所以其是AppEngine中一个非常核心的模块。其具体细节将在下篇和大家讨论。
整个服务群包括很多服务供AppServer调用,比如Memcache,图形,用户,URL抓取和任务队列等。
6、Amazon技术架构
可能有读者并不熟悉Amazon,它现在已经是全球商品品种多的网上零售商和全球第2大互联网公司。而之前它仅仅是一个小小的网上书店。ok,下面,咱们来见识下它的架构。
Dynamo是亚马逊的key-value模式的存储平台,可用性和扩展性都很好,性能也不错:读写访问中99.9%的响应时间都在300ms内。按分布式系统常用的哈希算法切分数据,分放在不同的node上。Read操作时,也是根据key的哈希值寻找对应的node。Dynamo使用了ConsistentHashing算法,node对应的不再是一个确定的hash值,而是一个hash值范围,key的hash值落在这个范围内,则顺时针沿ring找,碰到的个node即为所需。
Dynamo对ConsistentHashing算法的改进在于:它放在环上作为一个node的是一组机器(而不是memcached把一台机器作为node),这一组机器是通过同步机制保证数据一致的。
下图是分布式存储系统的示意图,读者可观摩之:
Amazon的云架构图如下:
7、优酷网的技术架构从一开始,优酷网就自建了一套CMS来解决前端的页面显示,各个模块之间分离得比较恰当,前端可扩展性很好,UI的分离,让开发与维护变得十分简单和灵活,下图是优酷前端的模块调用关系:
这样,就根据module、method及params来确定调用相对独立的模块,显得非常简洁。下图是优酷的前端局部架构图:
优酷的数据库架构也是经历了许多波折,从一开始的单台MySQL服务器(JustRunning)到简单的MySQL主从复制、SSD优化、垂直分库、水平sharding分库。
简单的MySQL主从复制。
写入无法扩展写入无法缓存复制延时锁表率上升表变大,缓存率下降那问题产生总得解决的,这就产生下面的优化方案。
MySQL垂直分区
MySQL水平分片(Sharding)
缓存策略
避免内存拷贝,避免内存锁如接到老大哥通知要把某个视频撤下来,如果在缓存里是比较麻烦的而且Squid的write用户进程空间有消耗,Lighttpd1.5的AIO(异步I/O)读取文件到用户内存导致效率也比较低下。
本文网址:https://www.shengjiangju.com/gsxw/5881.html版权声明: 1.本站内容部分为潍坊晟匠聚网络编辑原创文章,部分来源于网络,如需转载,请标注来源网站名字和文章出处链接。 2.本站内容为传递信息使用,仅供参考,也不构成相关建议。 3.部分内容和图片来源于网络,如有侵权,请联系我们处理。


