新闻产经轻工日化电器通讯仪器机械冶金矿产建筑建材石油化工食品医药电子电工能源电力交通运输农业环保图片手机版
当前位置:中国市场调查网>产业>科技>  正文

Twitter如何使用开源技术:开发多款软件

中国市场调查网  时间:08/31/2012 15:08:11   来源:新浪科技

  新浪科技讯 北京时间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为例,该技术最初主要由雅虎开发,但现在已经成为企业市场大数据推送的基础技术。(朱飞)