图解Flickr的服务器架构

标签: Linux MySQL 服务器架构 Flickr 图解 | 发表时间:2011-07-20 12:10 | 作者:谋万世全局者 Adam
出处:http://www.ha97.com

Flickr的架构师  Cal Henderson,在 Flickr: Web Services 这个PPT中,有对其架构比较全面的阐述。

Flickr运维团队的John Allspaw,有两个讲LAMP的幻灯,Hardware Layouts for LAMP Installations 和  capacity planning for LAMP,但应该是Flickr架构演进和运维的一些经验总结,其中也透露一些服务器架构。

John Allspaw也很强调测量(measurement)的重要性;他也很笔试benchmark,这个和我们的经验比较吻合,无论是对开源软件比如Cassandra的benchmark,或是自己开发的进程的性能测试,都与上线后运营的负载差异太大,以致对容量规划几乎没帮助。基本上需要在灰度发布后根据实际应用负载才能做比较靠谱的规划。

Flickr的DBA Dathan Vance Pattishall 的这个幻灯 Federation at Flickr: Doing Billions of Queries Per Day

是说他们怎么做shard的。当然,里面说的一些小tips也比较受用的,比如 Swapiness set to 0,我们自己就曾有服务器进程被swapiness搞堵。其中提到的ticket server,则在Flickr的官方博客上的 Ticket Servers: Distributed Unique Primary Keys on the Cheap做了详细讲解。

Flickr的前员工Mikhail Panchenko在Strange Loop 2010会议上做了标题为Flickr架构的演进(The Evolution of the Flickr Architecture)的演讲, InfoQ上有视频录像可以看,这里可以下载幻灯。

没错,是前员工,已经离开Flickr了,却在讲Flickr的架构。

看了视频,其实并没有讲太多技术架构的具体实现和设计。大多数时候在批评Flickr里头写的PHP代码,以及他对各种流行技术的看法。

包括对Foursqure前些时候的MogoDB宕机事件,他也认为不是MogoDB问题。

“This isn’t a MongoDB problem.

It’s an “It’s NoSQL, so I don’t have

to think about it” problem. ”

Flickr坚持用MySQL,他是这样说的:

“As far as I can tell, the

amount of effort spent

making various datasets fit

NoSQL databases is

equivalent to the time it

takes to get good at MySQL”

他说的3个have to很实在:

• You have to know what it is you need and

what your limits are

• You have to monitor for those limits

• You have to have a plan for what you’re

gonna do to continue avoiding those limits

他们也用了Redis,在他的那个offline tasks system,对Redis评价很高。

Cal Henderson的另一个幻灯expo08nyc_moving_pictures.pps,则是讲Flickr怎么实现视频的(里头对几种视频格式的总结也很深刻)。

作者:yanghehong

相关 [flickr 服务器 架构] 推荐:

图解Flickr的服务器架构

- Adam - 服务器运维与网站架构|Linux运维|互联网研究
前Flickr的架构师  Cal Henderson,在 Flickr: Web Services 这个PPT中,有对其架构比较全面的阐述. Flickr运维团队的John Allspaw,有两个讲LAMP的幻灯,Hardware Layouts for LAMP Installations 和  capacity planning for LAMP,但应该是Flickr架构演进和运维的一些经验总结,其中也透露一些服务器架构.

Flickr 网站架构研究(1,2)(zt)

- - 网站架构_搜搜博客搜索
  Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗. 他就是将照片上传到Flickr,后而被微软看中成为Vista壁纸御用摄影师.   Flickr.com 是最初由位于温哥华的Ludicorp公司开发设计并于2004年2月正式发布的,由于大量应用了WEB 2.0技术,注重用户体验,使得其迅速获得了大量的用户,2007年11月,Flickr迎来了第20亿张照片,一年后,这个数字就达到了30亿,并且还在以加速度增长.

Google服务器架构图解简析

- Version - 服务器运维与网站架构|Linux运维|互联网研究
Google,无疑是互联网时代最闪亮的明星. 截止到今天为止,Google美国主站在Alexa排名已经连续3年第一,Alexa Top100中,各国的Google分站竟然霸占了超过20多个名额,不得不令人感叹Google的强大. 不论何时,不论何地,也不论你搜索多么冷门的词汇,只要你的电脑连接互联网,只要你轻轻点击“google搜索”,那么这一切相关内容google都会在1秒钟之内全部搞定,这甚至比你查询“我的文档”都要快捷.

图解Twitter的服务器架构

- huacnlee - 服务器运维与网站架构|Linux运维|互联网研究
Twitter的服务器架构的简要示意图:. Unicorn: Ruby 的HTTP服务器. Kestrel : Twitter用Scala写的message queue. Flapp: Twitter做的图存储FlockDB. Gizzard: Twitter用Scala写的一个通用Sharding框架.

高性能服务器架构

- 临峰 - 博客园-首页原创精华区
    任何一行都有自己的军规, 我想这篇著名的文章就是游戏服务器程序员的军规. 也许你认为游戏服务器程序员日常并不涉及这样底层的实现, 而只是去完成策划提出的需求, 我觉得也有道理, 毕竟这些是我们的工作, 下面的译文就不太适合你. 但是对于想改进现有系统, 在服务器方面给予更好的技术支持, 那么你在开始工作之前必须了解一些禁忌, 并且给出了一些解决方向上的真知灼见.

图解Skype的服务器架构

- QQ - 服务器运维与网站架构|Linux运维|互联网研究
这篇文章 SKYPE’s Roadmap and Architecture 简化地描述了Skype的架构. Skype的数据库团队leader  Asko Oja 的幻灯, http://www.slideshare.net/highload/asko-oja-moskva-architecture-highload-presentation 则说Skype使用了PostgreSQL和Skype贡献的开源工具(plProxy, pgBouncer, PgQ…)做分布式数据库.

高性能服务器架构思路

- - ITeye资讯频道
本文来自: http://wetest.qq.com/. 在服务器端程序开发领域,性能问题一直是备受关注的重点. 业界有大量的框架、组件、类库都是以性能为卖点而广为人知. 然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及. 本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明:.

ARM推64位处理器架构 主要瞄准服务器

- Adam - cnBeta.COM
英国芯片设计商ARM今天公布了64位架构处理器的详情,它将拓展ARM的业务,进入到企业应用领域,比如服务器,这一业务现在被英特尔统治. ARMv8架构既包括了32位处理指令系统,也包括64位的;32位的指令系统被用在iPhone 4S和iPad芯片上. 采用64位架构之后,可以支持更大的内存和处理更大的文件,对于科学研究、搜索大型数据等要求高的用户,这点非常有必要.

惠普与Calxda联合发布ARM架构服务器

- Adam - cnBeta.COM
Calxda与惠普公司联合开发完成了一款基于ARM处理器的服务器. Calxeda是一家坐落在德克萨斯州奥斯丁市的一家专门设计ARM架构服务器的厂 商.  Calxeda之前以Smooth-Stone而闻名,他在2010年8月提出由包括ARM财团在内的投资者投资3000万英镑来建立ARM的服务器. 根据Forrester公司的分析师Richard Fichera的报告,这个服务器规划开发低功率的ARM服务器,每个服务器节点消耗将少于5W,并使用四核的Cortex - A9处理器,DRAM和一个光纤互连.

Windows平台网站图片服务器架构的演进

- - 博客园_知识库
  构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”. 很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成的. 由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成思维局限性和短板. 就拿图片服务器为例子,如果前期没有容量规划和可扩展的设计,那么随着图片文件的不断增多和访问量的上升,由于在性能、容错/容灾、扩展性等方面的设计不足,后续将会给开发、运维工作带来很多问题,严重时甚至会影响到网站业务正常运作和互联网公司的发展(这绝不是在危言耸听).