Twitter背后用到了哪些开源软件与技术?

如果没有开源软件,Twitter将不会存在。你发送和接收的每一个Tweet在移动端和PC端发送的过程中,都会需要开源软件。我们非常好奇Twitter使用了多少开源软件。除此之外,我们想要知道开源对Twitter公司的文化产生了什么影响。

我们采访了Twitter公司主管开源的Manager Chris Aniszczyk,来和我们大家分享Twitter的开源故事。Aniszczxk将会在本月的LinuxCon(8月29日至31日,在San Diego,CA)上做主题演讲: The open source technology behind a Tweet.赌王娱乐城

让我们看一下Aniszczy如何看待Open Source以及Twitter的开源文化。

请给我们简单介绍一下你即将在LinuxCon上做的报告“The Open Source Technology Behind a Tweet”?

表面上来看,Twitter提供一种简单的实时消息服务,其传播的是140个字节组成的被称为Tweets的消息单元。更进一步的看一下运行此服务的复杂性:每天超过4亿的Tweets被发送。在这样一个规模下,你必须处理一些有趣的实时工程性问题。在这个报告中,我将讲述我们如何应对这些挑战以及为什么我们选择开源软件来应对这个挑战。这个报告的内容将要讲述一个Tweet的整个生命周期,从我们的后端服务到前端显示。我期待听众在听完报告后,能够对开源技术有更好的了解和认识,同时知道一个简单的Tweet在出现在他们的timeline时,背后都发生了什么。

一个Tweet的传播场景背后,使用了多少开源软件?

我们使用了许多开源软件。依我来看,作出这个决定是很自然的事情。因为使用开源软件允许我们在公司和服务快速发展的过程中,可以定制代码用以满足我们快速迭代的工程需求。在Twitter,当我们计划开展一个新的项目时,我们总是会取衡量我们的需求以及开源能够提供给我们的能力,同时倾向于定制开源软件用以满足需求。通过这样的方法,Twitter大部分构建在开源软件基础之上,作为结果,open source的方式现在是我们文化中普遍存在的一部分。另外,从开源社区中获取并回馈给开源社区形成了一个正反馈,我们也在Github上分享了我们很多代码。

下边是我们使用的一些开源软件的具体的例子:

  • MySQL被大量使用,是Tweet的主要存储工具;我们开发了MySQL fork in the open用来和开源社区合作;
  • Cassandra, Hadoop, Lucence, Pig以及一些其他的Apache基金会的项目被我们的架构使用,用来增强分析数据和搜索的服务能力。我们也回馈这些项目并资助Apache软件基金会。
  • Memcached在我们的缓存架构中被大量使用,用来应对我们告诉增长的流量。我们最近开源了Twemcache, 这个项目基于Memcached的代码进行开发。

另外,我们也提供了一些开源软件:

  • lago是我们开发的一个流量生成工具,用来帮助我们把服务在生产环境上线前进行测试。lago提供适合于Twitter环境所需的流量和精度用来测试我们的服务。
  • Zipkin是我们开发的一款分布式追踪(tracing)工具,帮助我们收集timing data,这些data是对Twitter API请求中的不相关联的服务产生的。
  • Scalding是以个Scala库,使用这个库可以容易的在Hadoop上开发MapReduce作业,利用内置集成的Scala和JVM。

我还想提一下Apache Mesos,它使得开发分布式应用以及共享数据中心的资源非常容易。我们在Twitter内部很多地方使用它,从执行Hadoop上的作业分析,到运行Rails应用。它真的是Twitter的基础应用之一。你能查看这个演讲用来获取更多的信息。

在Twitter工作是什么样子的?你们的文化受到Open Source影响吗?

如果你在开源社区花费一些精力,你将会意识到信息的开放沟通对整个世界将会带来积极的影响。在Twitter,我们谨记这个准则,每个员工有意愿和机会参与其中。我们每周都会开all-hands会议,在这个会上,尖锐的问题被提出和回答,因为我们从内到外都保有开放的心态和互相之间的信任。更进一步,我们大约在一年前成立了一个open source office用来支持对我们至关重要的开源组织。我们对开源社区所作出的伟大工作充满感恩,想要和开源社区保持健康的关系。

在工程文化方面,Twitter本身是一个实时的事件驱动的工程难题,我们也将我们的工程文化塑造成实时响应以及事件驱动。我们想要敏捷、小步迭代的工程文化,这些伴随着整个公司的成长而发展。每天有超过4亿Tweets被发出,同时有大量的Tweets被递送。我们每季度也举办hackweeks,员工可以拿出一周的时间从事各式各样他们真正富有激情的项目,这些项目不需要和他们每天负责的职责相关。

时间: 2024-10-29 19:06:41

Twitter背后用到了哪些开源软件与技术?的相关文章

行业牛人和开源软件改变技术世界

Google在很长一段时间里都是技术圈内的顶尖技术的代名词.外界也不清楚Google是怎么完成一些不可能完成的任务的.当年,大家光是想象Google怎么保存那些海量的索引,是怎么做到的都不知道.所以大家想象Google里面每个工程师都是百年一遇的大神吧. 直到后来,Jeff Dean的三篇论文Google File System,MapReduce和BigTable一发布,大家才注意到,原来Google有个Systems and Infrastructure Group,有个Jeff Dean大

开源软件之七宗罪以及背后的阴谋

开源软件之七宗罪以及背后的阴谋 jopen 2012-10-29 11:31:22 ? 发布 摘要:我们每天使用着大量的开源软件,我们歌颂她赞美她.当有人站出来说一句开源不好 肯定会激起N多人站出来批评.然后给你列举出N多开源的好处和闭源的坏处. 我们每天使用着大量的开源软件,我们歌颂她赞美她.当有人站出来说一句开源不好 肯定会激起N多人站出来批评.然后给你列举出N多开源的好处和闭源的坏处. 首先我不反对开源,本文只是无聊时候的自己一点思考.想喷的各位请看完再喷.谢谢 自从开源运动发起以后.各种

OpenSource.com 评出 2014 年十佳开源软件

Docker 应用容器平台 “电源管理和虚拟化以相同的方式允许我们从服务器利用率中获取最大的利益.如何真正的解决虚拟化,这世界第一难题仍然是普遍存在的.Docker 自从 2013 年开源以来,刚好在这开源改革的关键时刻适应了时势的发展,提供扩展构建块,允许类似我们这样的工程师和架构师能够以亘古未有的方式进行分布式平台的扩 展.”—Richard Morrell, Senior software engineer Petazzoni on the breathtaking growth of D

[转]开源中国的 IT 公司开源软件整理计划介绍

http://www.oschina.net/news/61534/oschina-opensource-collection-plan-for-it-companies 为了方便大家检索开源软件,促进开源在中国的进一步发展,开源中国从去年年底就开始在整理 IT 公司或者组织的开源软件列表.目前已经有一个初步的列表,但很多公司的软件列表还不完善,也可能会因为归属问题有一些争议,欢迎大家给我们提出纠正和改进的意见和建议. 此外如果贵公司开源软件数量较多,希望我们为贵公司制作一个列表,请随时与我们联

2016国产开源软件Top100(Q1)

2016国产开源软件Top100(Q1) 随着互联网的发展.开放标准的普及和虚拟化技术的应用等诸多IT新领域的创新及拓展,开源技术凭借其开放性.低成本.稳定性.灵活性.安全性和技术创新性等特点迅速走向成熟,逐步发展成为一种主流模式,日益改变着全世界软件产业的发展轨迹. 创新,不是老生常谈 技术发展依赖于创新举措.没有那些脱离束缚的好想法,技术发展将停滞不前.与此同时,创新也促进了企业与社会的进步.那么,什么地方的创新最多?不是甲骨文,不是苹果,不是Google,也不是微软,正确答案应该是:开源社

开源中国 2014 最受关注开源软件排行榜 TOP 50

开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件.此榜单是根据过去一年的用户访问.交流分享和项目本身的更新频度等诸多角度对收录于开源中国 33000+ 款开源软件进行统计,从而得出前 50 名最受欢迎的开源软件,仅供参考. 本排行榜主要是针对开源中国社区在 2014 年度最受欢迎的 50 款热门开源项目根据用户访问量.讨论和关注等角度进行筛选,从

开源中国的 IT 公司开源软件整理计划介绍

为了方便大家检索开源软件,促进开源在中国的进一步发展,开源中国从去年年底就开始在整理 IT 公司或者组织的开源软件列表.目前已经有一个初步的列表,但很多公司的软件列表还不完善,也可能会因为归属问题有一些争议,欢迎大家给我们提出纠正和改进的意见和建议. 此外如果贵公司开源软件数量较多,希望我们为贵公司制作一个列表,请随时与我们联系. 下面是目前已经整理的一些列表: Apache 基金会: http://www.oschina.net/project/apacheJBoss: http://www.

开源软件的三种商业模式

开源软件一般都会有良好的社区,而且采用分布式的软件工程体系,这一体系已经相当完善而且在不断更新.持续运行之中.大部分开源项目是基于开放理念的无私贡献,但很多开源项目进行商业运作,也获得了巨大的成功. 开源软件的商业模式,个人总结目前主要可以分为三类: 1.完全开源,通过基金会运作,资金主要来源于捐款. 这一类的开源组织规模大的实质上已经形成一个联盟,共同把持技术界的话语权和主导地位.如Apache和Linux.Linaro,都是IBM.Oracle.Microsoft等大公司在背后支持.华为每年

[转]面向物联网的21个开源软件项目

原文链接:https://my.oschina.net/RainyZou/blog/1605337 物联网市场呈现碎片化.无定形.不断变化的特点,其性质需要不仅仅像平常那样关注互操作性.开源在这方面表现不俗也就不足为奇了——客户犹豫不决,不敢将物联网的未来寄托在一种可能销声匿迹或变得难以定制.互联的专有平台上. 我在本文中介绍了主要的开源软件项目,专注于面向家庭和工业自动化的开源技术.我忽略了侧重垂直领域的与物联网有关的项目,比如Automotive Grade Linux和Dronecode,