当前位置: 网站建设 > 专业知识资讯 >

从上百幅架构图中学大型网站建设经验(上)

时间:2013-04-21 16:56来源:未知 作者:网站建设 点击:

标签:从上百幅架构图中学大型网站建设经验(上)
5、GoogleApp Engine技术架构 然而,只管业务之间已经足够独立了,但是有些业务之间或多或少总会有点接洽,如用户,基础上都会和每个业务相关系,况且这种分区方式,也不能解决单张表数据量暴涨的问题,因而为何不尝尝水平sharding呢? 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,经常见识到不少精妙绝伦的架构图。除了每每感慨于每幅图名义上的绘制的精致之外,更为架构图当面所暗藏的设计思维所叹服。个人这两天始终在收集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩
从上百幅架构图中学大型网站建设经验(上)》文章地址:http://www.tfxk.com/zixun/04213BU2013.htm
5、Google App Engine技术架构

    然而,只管业务之间已经足够独立了,但是有些业务之间或多或少总会有点接洽,如用户,基础上都会和每个业务相关系,况且这种分区方式,也不能解决单张表数据量暴涨的问题,因而为何不尝尝水平sharding呢?

    近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,经常见识到不少精妙绝伦的架构图。除了每每感慨于每幅图名义上的绘制的精致之外,更为架构 图当面所暗藏的设计思维所叹服。个人这两天始终在收集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时重复 揣摩领会,何乐而不为呢?特此,总结整理了诸如国外wikipedia,Facebook,Yahoo!,YouTube,MySpace,Twitter,海内如优酷网等大型网站的技术架构(本文重点剖析优酷网的技术架构),以飨读者。

6、Amazon技术架构

    Amazon的云架构图如下:

                                               Yahoo! Mail 架构

写入无奈扩展 写入无法缓存 复制延时 锁榜样回升 表变大,缓存率降落

    对于缓存系统,还能够看看下幅图:

    缓存在大型web名目中起到了举足轻重的作用,究竟数据越凑近CPU存取速度越快。下图是twitter的缓存架构图:

    Yahoo! Mail 架构安排了 Oracle RAC,用来存储 Mail 服务相干的 Meta 数据。

2、Facebook 架构 防止内存拷贝,避免内存锁 如接到老大哥告诉要把某个视频撤下来,假如在缓存里是比拟麻烦的

其主从复制的进程如下图所示:

                                    Amazon的Dynamo Key-Value存储架构图

    如果把业务切割得足够独破,那把不同业务的数据放到不同的数据库服务器将是一个不错的方案,而且万一其中一个业务瓦解了也不会影响其他业务的畸形进行,并且也起到了负载分流的作用,大大晋升了数据库的吞吐才能。经由垂直分区后的数据库架构图如下:

貌似大的系统都对“缓存”情有独钟,从http缓存到memcached内存数据缓存,但优酷表现不用内存缓存,理由如下:

    此篇文章终于写完了,从昨日有收拾此文的念头后,到本日上午找电脑上网而不得,再到此刻在网吧实现此文。着实也体味了一把什么叫做为技巧狂热的感到。大型 网站架构是一个实战性很强的货色,而你我或者当初临时还只是一个在外看热烈的门外汉罢了。不外,不要紧,小鱼小虾照样能畅游汪汪大洋,更何况日后亦能成长 为大鱼大鲨。

 缓存策略

                                       ,网站设计;      WikiPedia 技术架构图Copy @Mark Bergsma

7、优酷网的技术架构

然而,主从复制也带来其余一系列机能瓶颈问题:

    twitter平台大抵由twitter.com、手机以中举三方利用形成,如下图所示(其中流量主要以手机和第三方为重要起源):

    下图是分布式存储系统的示用意,读者可观摩之:

    可能有读者并不熟习Amazon,它现在已经是全球商品种类最多的网上零售商和寰球第2大互联网公司。而之前它仅仅是一个小小的网上书店。ok,下面,咱们来见识下它的架构。

简单的MySQL主从复制。
MySQL的主从复制解决了数据库的读写分别,并很好的提升了读的性能,其本来图如下:

    ok,欢迎关注从上百幅架构图中学得半点大型网站建设经验(下)。有任何问题或过错,欢迎不吝教正。谢谢大家。本文完。

 MySQL垂直分区

    优酷的数据库架构也是阅历了很多曲折,从一开端的单台MySQL服务器(Just Running)到简单的MySQL主从复制、SSD优化、垂直分库、水平sharding分库。

4、twitter技术架构

    本文侧重凸显每一幅图的出色之处与其背地含意,而图的阐明性文字则从简从略。ok,好好享受此番架构盛宴吧。当然,若有任何倡议或问题,欢送不吝斧正。谢谢。

Datastore是基于BigTable技术的分布式数据库,固然其也可以被懂得成为一个服务,但是因为其是整个App Engine独一存储长久化数据的处所,所以其是App Engine中一个异常中心的模块。其详细细节将在下篇和大家探讨。

                                            GAE的架构图

                                           Amazon的云架构图

    这样,就根据module、method及params来确定调用绝对独立的模块,显得非常简练。下图是优酷的前端部分架构图:

    Dynamo对Consistent Hashing算法的改良在于:它放在环上作为一个node的是一组机器(而不是memcached把一台机器作为node),这一组机器是通过同步机制保障数据一致的。

后记

                          ,成都网页设计公司;          Facebook 搜索功效的架构示意图

而且Squid 的 write() 用户过程空间有耗费,Lighttpd 1.5 的 AIO(异步I/O) 读取文件到用户内存导致效力也比较低下。

来自wikipedia的数据:峰值每秒钟3万个 HTTP 恳求 每秒钟 3Gbit 流量, 近乎375MB 350 台 PC 服务器。 GeoDNSA :40-line patch for BIND to add geographical filters support to the existent views in BIND", 把用户带到最近的服务器。GeoDNS 在 WikiPedia 架构中担负重担当然是由 WikiPedia 的内容性质决议的--面向各个国度,各个地区。 负载平衡:LVS,请看下图:  从上百幅架构图中学大型网站建设教训(上) 引言

    Dynamo是亚马逊的key-value模式的存储平台,可用性跟扩大性都很好,性能也不错:读写拜访中99.9%的响应时光都在300ms内。按散布 式体系常用的哈希算法切分数据,分放在不同的node上。Read操作时,也是依据key的哈希值寻找对应的node。Dynamo应用了 Consistent Hashing算法,node对应的不再是一个断定的hash值,而是一个hash值范畴,key的hash值落在这个规模内,则顺时针沿ring找,碰 到的第一个node即为所需。

 MySQL程度分片(Sharding)

  如何来肯定某个用户所在的shard呢,可以建一张用户和shard对应的数据表,每次要求先从这张表找用户的shard id,再从对应shard中查询相关数据,如下图所示:    但是,优酷是如何解决跨shard的查询呢,这个是个难点,据先容优酷是尽量不跨shard查问,切实不行通过多维分片索引、分布式搜寻引擎,下策是分布式数据库查询(这个无比麻烦而且耗性能)。

    仔细的读者一定能发明,上副架构图之前呈现在此文之中:从多少幅架构图中偷得半点海里数据处置经验。本文与前文最大的不同是,前文只有几幅,此文系列将有上百幅架构图,任你纵情欣赏。

前端包含4个模块:Front End,Static Files,App Server,App Master。

全部服务群包括良多服务供App Server调用,比方Memcache,图形,用户,URL抓取和义务队列等。

    这是一个十分好的思路,将用户按必定规矩(按id哈希)分组,并把该组用户的数据存储到一个数据库分片中,即一个sharding,这样跟着用户数目的增添,只有简略地配置一台服务器即可,原理图如下:

                                                     twitter的整体架构设计图

那问题发生总得解决的,这就产生下面的优化计划。

    从一开始,优酷网就自建了一套CMS来解决前端的页面显示,各个模块之间分离得比较适当,前端可扩展性很好,UI的分离,闪开发与保护变得非常简单和机动,下图是优酷前真个模块调用关联:

1、WikiPedia 技术架构

  ,成都网站设计;  简单而言,上述GAE的架构分为如图所示的三个局部:前端,Datastore和服务群。

    附注:1、此段优酷网的技术架构整顿于此处:

3、Yahoo! Mail 架构

但 为何咱们访问优酷会如斯流利,与土豆比拟优酷的视频加载速度稍逊一筹?这个要归功于优酷树立的比较完美的内容散发网络(CDN),它通过多种方法保证分布 在全国各地的用户进行就近访问——用户点击视频请求后,优酷网将根据用户所处地域地位,将离用户最近、服务状态最好的视频服务器地址传递给用户,从而保证 用户可以得到疾速的视频休会。这就是CDN带来的上风,就近访问。


(责任编辑:网站建设)
从上百幅架构图中学大型网站建设经验(上)相关文章
上一篇:2013年信息门户类网站建设的创新模式 下一篇:新疆库尔勒网站建设,新疆库尔勒网站制作,新疆库尔勒网站推广
回到顶部