2010 年 InfoQ 中文站高性能架构内容回顾:在路上

阅读数:7635 2011 年 1 月 16 日

话题:MySQL架构DevOps

时光荏苒,转眼已是 2011 年。在过去的一年里,中国的网民数量已达 4.5 亿,年增长 20% 以上。而当当和优酷的成功上市,也让网络视频和 B2C 行业登上主流舞台。无论是网民数量的日益增加,还是网络服务的发展变化,都让互联网行业对高性能架构有了更高的要求和期许。

我们都知道,看上去光鲜亮丽的一个个网站和服务的背后,是成百上千台服务器二十四小时不停地运转,是无数行代码织就的应用程序时时刻刻响应着各种请求。当你遭遇到高可用性和可伸缩性问题的时候,当你需要处理和索引海量数据的时候,当你发现目前的数据库和文件系统已经无法满足需求的时候,或许接下来的内容和案例分享会帮助你找到解决问题的思路和方法:

1. 百万级访问量网站的技术准备工作

这是一篇入门级的文章,作者介绍了网站发展到百万级访问量将会遭遇的问题,以及所对应的解决办法。或许你会觉得内容并不华丽,但却句句言实。相信读了作者的建议后,你会少走很多弯路。

2. 2010 年大规模技术架构的思路

本文概括地介绍高性能架构在技术方案上的选择思路。从编程语言到分布式存储,再到可扩展架构,如何在新技术和传统方案之间做出选择,也许本文会给你一个答案。

3. 服务器端编程的十大性能问题

这是 Web 性能诊断专家 Bernd Greifeneder 发表在《瑞士计算机世界》杂志上的一篇文章中,所列举的在过去几年工作中所遇到的服务器端编程的十大性能问题,而 Andreas Grabner 所给出的补充阅读内容也非常值得一读。

4. 迷你书:构建高性能 Web 站点(精选版)

这是一本迷你书,精选了《构建高性能 Web 站点》中的一些章节。这本书凝聚了作者多年的经验和总结,深入地介绍了构建高性能 Web 站点时的方方面面。借用某豆瓣网友的评价:“既全面又极具实操性”,我认为此言不虚。

实践篇

理论离不开实践,在高性能架构方面更是如此。很多解决方案都是在实践中反复摸索和试错之后,经过了长时间的考验,才逐步为人所了解的。去年很多公司都分享了自己在高性能架构领域的知识和经验:

1. 分布式计算开源框架 Hadoop 介绍

Hadoop 是 Apache 开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如 Amazon、Facebook 和 Yahoo 等等。岑文初的分布式计算开源框架 Hadoop 入门实践系列文章对于想要应用 Hadoop 的读者来说,是一个很不错的起点。

2. 又拍网架构中的分库设计

本文主要介绍了又拍网(Yupoo)在 MySQL 数据库方面的发展历程,从一主一从的基本结构,发展到后来多主多从的架构。文中介绍了各种 Sharding 的方式,以及在实践中遇到的问题,深入细节,值得一读。

3. 百度大规模数据处理

这是百度分布式系统高级工程师马如悦在 QClub 上的演讲,探讨了百度大规模分布式存储、分布式计算、分布式索引的应用需求和设计模式,以及遇到的问题和解决办法。相信在海量数据处理领域,百度是为数不多有发言权的公司之一。

4. LinkedIn 数据基础设施简介

来自 LinkedIn 的 Jay Kreps 介绍了 LinkedIn 每天是如何处理 1.2 千亿个关系,并通过高容量、低延时的服务来完成大规模数据计算的。在计算海量连接关系时,通过引入 bloomfilter,他们将性能提升了 10 倍。

5. 揭秘淘宝自主研发的文件系统——TFS

这是淘宝自主研发的分布式文件系统,针对海量小文件的随机读写访问性能做了特殊优化,承载着淘宝主站所有图片、商品描述等数据存储。当现有方案无法满足需求的时候,针对特定问题自主研发,并回馈给开源社区,淘宝做到了。

6. 豆瓣数据存储实践

豆瓣网的三千多万用户上传的照片、写的日记和评论,以及小组话题和订阅的博客内容是非常庞大的,采用传统的关系型数据库和网络文件存储技术很难满足数据的持续增长和高可用性的需求。BeansDB 的作者刘洪清分享了豆瓣网在数据存储上的实践经验。

高性能架构是个永恒的话题。高性能意味着用户满意度的提高,意味着成本的降低,更意味着 IT 技术不断的发展和革新。这条路很长,我们正在路上。