各大网站架构总结笔记(续)【转】

转自:http://www.cnblogs.com/sxwgf/archive/2011/08/16/2141632.html

前段时间给大家介绍过各大网站架构总结笔记(MySpace、Flickr、YouTube、PlentyOfFish、WikiPedia),喜欢架构的朋友可以去看看。这两天,我又陆续从互联网上整理了几个优秀网站的架构信息,并将部分文章整理到了自己的另一个博客,今天把它们拿出来分享给大家,希望能给大家带来一点启发,另外,欢迎一起讨论,有比较好的架构信息大家也可以拿出来一起分享一下:)

1、Google架构

老大当然要放第一位,Google的架构非我们这些平凡之辈一两天能够了解的,这里也只是大概地整理一下:

--GFS,Google的强有力的面向大规模数据密集型应用的、可伸缩的分布式文件系统

--MapReduce,Google的分布式并行计算系统,GFS存储数据,而MapReduce则是以最快最可靠的方式处理数据。

--BigTable,Google基于GFS和MapReduce之上的用来存储结构化数据的解决方案,有了它,不仅可以存储结构化的数据,而且可以更好的管理和做出负载均衡决策。

Google架构的详细信息

2、优酷网架构

在国内,上不了YouTube,只能看看优酷了,说实在优酷在国内算是做的不错了,视频加载速度明显比土豆什么的要快,那就看看他的架构吧:

--自建的一个模块化的CMS系统,前端十分灵活

--mysql数据库从单台MySQL服务器(Just Running)到简单的MySQL主从复制、SSD优化、垂直分库、水平sharding分库,解决数据库服务器的灵活横向扩展。

--为了避免内存拷贝和内存锁,没有(很少)用内容缓存。

--最核心的是构建了比较完善的CDN网络,就近原则,让你看视频时从离你最近的服务器上获取视频信息,所以我们看优酷比土豆要快,原因就在这里。

优酷网架构的详细信息

3、Twitter架构

twitter,怎么说呢,说他简单么还真简单,但又是那么复杂,真是纠结。话说这140个字的鼻祖让国内的某某某非常风骚,算了不跑题了,说说他的架构吧:

--平台比较广泛:

  • Ruby on Rails:web应用程序的框架
  • Erlang:通用的面向并发的编程语言,开源项目地址:http://www.erlang.org/
  • AWStats:实时日志分析系统:开源项目地址:http://awstats.sourceforge.net/
  • Memcached:分布式内存缓存组建
  • Starling:Ruby开发的轻量级消息队列
  • Varnish:高性能开源HTTP加速器
  • Kestrel:scala编写的消息中间件,开源项目地址:http://github.com/robey/kestrel
  • Comet Server:Comet是一种ajax长连接技术,利用Comet可以实现服务器主动向web浏览器推送数据,从而避免客户端的轮询带来的性能损失。
  • libmemcached:一个memcached客户端
  • 使用mysql数据库服务器
  • Mongrel:Ruby的http服务器,专门应用于rails,开源项目地址:http://rubyforge.org/projects/mongrel/
  • Munin:服务端监控程序,项目地址:http://munin-monitoring.org/
  • Nagios:网络监控系统,项目地址:http://www.nagios.org/

--细化memcached,同时建立向量缓存Vector Cache、行缓存Row Cache、碎片缓存Fragmeng Cache、缓存池Page Cache

--给力的消息队列,用Ruby写的一个分布式队列 Starling

Twitter架构的详细信息

4、Yupoo网站架构

一个试图做国内最好的图片服务提供商,虽然和Flickr还有点差距,但也不错了,话说搞图片和视频的是很烧服务器和带宽的,在国内这么贵的带宽也挺不容易的,好了,一起看看他的架构吧:

--Squid,这个貌似做图片缓存挺好使的,而且还是分布式的,可以硬盘命中和内存命中,速度都还不错。

--MogileFS图片存储

--mysql分库设计,垂直分库,水平sharding,跨库关联查询

--透明的缓存设计

Yupoo架构的详细信息

5、Amazon网站架构

这个Amazon从小书店开始现在成了全球商品品种最多的网上零售商和全球第2大互联网公司,貌似很风光嘛,那架构一定很犀利的,下面一起来看看:

--平台,Linux、oracle、C++、Perl、Mason、Java、Jboss、Servlets

--Dynamo Key-Value存储架构,有关Dynamo的更多信息请参看:http://baike.baidu.com/view/2982765.html?fromTaglist

Amazon架构详细信息

好了,先就介绍这几个,有空再找几个看看,说实在看架构比看阿凡达刺激,多看看有益身心健康。

最后欢迎大家有空逛逛我的青藤屋,玩blog没人气太没意思了。。。大家晚安了!

你可能感兴趣的:(架构)