Image via CrunchBase
学习了一下 Flickr 的运维工程师 John Allspaw 的这个Operational Efficiency Hacks 讲座内容。做一点笔记。
现在 Flickr 的数据相比2007年的时候真是有了显著的增长:
- 24 TB 的 MySQL 数据
- 每秒钟 MySQL 有 3.2 万次写操作
- 每秒钟 MySQL 有 12万次读操作
- 图片容量 6 PB
- 每天要用掉 10TB 存储
- 超过 15000 个服务监控点
在 2004 年的时候 ,Flickr 使用 ImageMagick (version 6.1.9)之后转移到 GraphicsMagick,我还以为是因为版权问题,现在知道这样做是因为速度,换用 GraphicsMagick 处理速度提升了 15%,而 ImageMagick 功能尽管强大,但都是 Flickr 用不到的功能。如无必要,勿增实体啊。GraphicsMagick 在并行方面(OpenMP)的支持也很不错(参考)。
除了技术手段的优化,Flickr 充分利用硬件本身的更新换代带来的好处,曾经用 18 台新机器替换掉原来的 67 台 Web 服务器,用 8 台新机器替换掉原来的 23 台图片处理的机器。无论从机架占用还是电力使用都节省了很多,而整理处理能力并没有削弱。我们总说摩尔定律,但是恐怕很少有人真的享受到摩尔定律带来的好处。Flickr 的做法是很值得学习的一个地方。精兵简政,不要只冲着人下手,动手"裁"掉机器,也会省钱嘛...
Flickr 技术团队随着网站的快速发展并没有增加大量人手,个人生产力的产出是相当的高。如何做到的呢?给出了四个非常有趣的原则:
- 使得机器自动构建 (Teach machines to build themselves)
- 使得机器自监控(Teach machines to watch themselves)
- 使得机器自修复(Teach machines to fix themselves)
- 通过流程减少 MTTR (Reduce MTTR by streamlining)
自动购建上,Flickr 使用了 OpsCode 、Puppet 以及 System Imager/Configurator 等。或许这几个工具值得我们关注一下。
Flickr 团队内部沟通工具也挺有意思,除了内部的 IRC 用于讨论之外,还利用 Yahoo! Messenger 的 IM Bot 记录更多的系统变化,并且,重要的是,将这些信息弄到搜索引擎里面... "信息查找",是国内多数团队交流工具忽视的地方。
最后感慨一下 Flickr 技术团队仍然是非常有活力的团队。最近的另一个消息是国内的Yupoo.com 原创业团队也即将重装上阵,重新接管 Yupoo 网站,要知道 Flickr 仍然是最有影响力的网站之一,所以,有理由期待 Yupoo 团队的精彩。
相关文章:
相关推荐
【大型网站架构实例详解】 ...通过对Mixi和Flickr等大型网站架构的分析,我们可以学习到如何构建能够承受大规模用户负载、保持高可用性和可扩展性的系统。这些实践经验对其他大型网站的架构设计提供了宝贵的参考。
Flickr 架构经验是指使用Flickr的架构经验。 Twitter 运维经验是指使用Twitter的运维经验。 运维经验是指分布式系统的运维经验。 Metrics是指分布式系统的性能Metrics。 配置管理是指分布式系统的配置管理。 ...
应用篇介绍了eBay、淘宝、Flickr、Twitter等公司在使用NoSQL数据库时的架构经验和运维经验,包括处理高并发、大数据量、系统扩展性等问题的方法。 总结来说,NoSQL数据库学习教程涵盖了分布式系统的基础理论、核心...
【标题】"fullStackProj:即将克隆flickr!" 提示我们这是一个全栈开发项目,目的是构建一个类似于著名图片分享平台Flickr的应用程序。在全栈开发中,我们需要掌握前端和后端技术,实现用户界面、数据处理、服务器...
NoSQL数据库的应用案例包括eBay、淘宝、Flickr和Twitter等大型网站,它们在应对海量用户和数据时,都利用了NoSQL数据库的特性来构建其架构。 在实际运维中,NoSQL数据库需要考虑的因素有: - 可扩展性:通过水平...
NoSQL数据库在电商(如eBay、淘宝)、社交网络(如Flickr、Twitter)等领域的运维经验中发挥了重要作用,它们通过优化缓存、监控指标、配置管理和团队协作等方式,实现了高效稳定的运行。 总结来说,NoSQL数据库...
【Redis实践与实战集锦】是一系列关于Redis学习和应用的文章集合,涵盖了Redis的基础概念、使用场景、安装运维,以及如何在Java和Python中进行编程访问。以下是对这些知识点的详细解析: 1. **Redis基础知识**:...
DevOps作为一种新兴的软件开发和运维理念,已经被越来越多的企业采纳,尤其在Netflix、Etsy、Flickr等公司取得了显著的成功。DevOps强调通过持续集成、持续交付来提高软件发布速度,同时降低风险,通过消除开发与...
应用篇则分享了一些公司,如eBay、淘宝和Flickr等,在架构设计和运维实践中使用NoSQL数据库的心得与经验。这些经验对于构建可扩展、高性能、高可用性的互联网应用至关重要。 文档还提到了云计算架构以及一些反模式...
例如,社交网络如Facebook和MySpace需要处理大量的用户关系数据和交互事件,图片分享平台如Flickr需要处理海量的图像数据,而视频共享网站如YouTube则需要处理大量视频内容。搜索引擎如Google和Yahoo则需要高效地...
标题“images:我的图床”表明这是一个用于存储和管理图像的资源库,通常在网站开发、博客写作或者项目文档中,图床是用来集中存放图片的地方,以便于引用和分享。这个压缩包“images-master”可能包含一个主图像目录...
1. **开源项目**:如果"OmGaler"是一个开源项目,那么它可能在GitHub等平台上公开源代码,供开发者学习、贡献和定制。这通常涉及Git版本控制,Markdown文档编写,以及遵循特定的开源许可协议(如MIT、Apache 2.0等)...
- **免费服务**:如Imgur、Flickr等,适合个人和小型项目,可能有限制如存储空间、带宽和功能。 - **付费服务**:如Cloudinary、AWS S3等,提供更稳定、更多定制化选项和更高级的安全措施,适合商业用途。 - **自...