Reload Original PagePrint PageEmail Page

Twitter如何使用开源技术:开发多款软件_互联网_科技时代_新浪网

  新浪科技讯 北京时间8月31日下午消息,Twitter开源项目经理克里斯•阿里斯扎克(Chris Aniszcyk)今天在CloudOpen大会上做了主题演讲,讲述了Twitter是如何使用开源技术的。

  阿里斯扎克在演讲中列举了被Twitter使用的开源技术,包括:

  ——MySQL。MySQL是一种关系型数据库的开源技术,该技术被Twitter大量采用,主要用来存储Twitter消息。Twitter公司与其它上游社区协作,开创了MySQL一个重要的开源分支。

  ——Cassandra、Hadoop、Lucene、Pig以及其它多种被Twitter用来支持分析和搜索服务的Apache项目。阿里斯扎克表示,该公司也对这些技术有回馈,反过来促进这些技术的进步。Twitter是Apache软件基金会的赞助商之一。Cassandra是一种NoSQL数据库。Hadoop是一种分布式文件系统,通常与高级语言一起搭配使用,譬如Pig。Lucene是一种开源搜索技术。Pig是一种用于大数据分析的高层次平台。

  ——Memcached。Memcached被用于Twitter的缓存基础设施,以应对日益增长的访问流量。最近,Twitter公布的Twemcache开源项目很大程度上受到Memcached代码库的启发。Memcached的作用是加速动态Web应用程序,减轻数据库负载。

  此外,Twitter还开源了一些该公司专用的软件,包括:

  ——Lago。Lago是一个负载生成器,用来在产品正式发布前做流量负载测试。

  ——Ziplink。Ziplink是一个分布式跟踪系统,被用于收集应用服务对Twitter API发起请求时的时序数据。本质上讲,Ziplink的作用就是帮助Tiwtter更快。

  ——Scalding。Scalding是一个Scala库,它能使在Hadoop中写入MapReduce时变得更容易。Scalding是Twitter为层叠(Cascading)而开发的项目。层叠是一种专为Java开发者设计的用于在Hadoop上建立大数据应用的框架。Scalding广为人知的功能是能够抽象复杂的MapReduce以及让Hadoop集群更容易管理。MapReduce最初由谷歌(微博)开发,用来处理搜索数据。Scala是一种通用编程语言。

  除Twitter外,Facebook和谷歌也开源了他们的部分技术。开源趋势在企业市场尤为明显,以分布式计算开源框架Hadoop为例,该技术最初主要由雅虎开发,但现在已经成为企业市场大数据推送的基础技术。(朱飞)