我联系上了twitter团队的开发者之一Alex,询问他是否可以回答我五个问题。Alex不仅回答了这些问题,而且开诚布公。感谢Alex!
- 你在Twitter团队最后怎么样了?可否透露一些你的背景?
==============================================
相 当简单:他们于2006年末在博客上发布信息说要招募人员,而且我把握了机会!我想我和他们通过几个小时的twitter通话来通过面试。今年早些时候我 做的是twitter上的业务联络,在Obvious办公室工作了一星期之后,在这个月一开始我终于获得了一份全职工作。我在四月中期搬出旧金山,迫不及 待和团队其他成员一起离开那里。
我生命的大部分时间都是在华盛顿哥伦比亚特区度过的。每个人都可以猜想,居住在一个国家的首都意味着每件事情都和政治有所牵连。我早期的大部分工作是为各 种非盈利、非政府组织、盈利目的的竞选活动(for-profits supporting campaigns)开发web应用。我也做过一些信息安全工作(信息安全产业在哥伦比亚特区是无所不在的)。我像许多程序员一样是从PHP转向 Rails开发的,但是我从来都不是一个技术纯粹主义者。在Rails上市之前,我考虑和一个朋友在几年之内开发一些基于Ruby的博客软件,那个时候 Ruby对于web开发者而言还不够友好。当Rails初次映入眼帘的时候,我记得当时我想,“酷,有人把Ruby变得易于开发web应用了!”。于是我 在Rails早期发布时就转入这方面的开发。
- Ruby on Rails是如何支撑负载提升的?
=======================================================
从各种角度看,Twitter都是现在线上最大的Rails站点。运行Rails迫使我们处理规模相关问题- 任何成长中的站点最终都将疲于应付的问题- 那时我还没考虑我们应该架构另一套web框架了。
此时,在Rail社区里有关规模问题的通常解答是:规模就是消耗:扔进去更多的CPU。问题在于更多的Rails实例(在我们的案例里,它们运行于mongrel cluster)意味着更多的数据库请求。就这一点而言当时Rails还没有办法同时访问多个数据库。解决方案是缓存每个字节以及安装多个只读的辅助数据库,二者都不是很快就能实现的修正方案。所以这不光是成本的问题,还是时间的问题。当人们不能打开你的站点时,时间就更为宝贵。
这些规模问题的解决都不像开发Rails那样好玩和轻松。所有Ruby提供的简便方法和语法糖使Rails对开发人员而言变得如此轻松,但最终却变成绝对 的惩罚,牺牲了执行效率。一旦你到达了网络流量的阀值,你必须剥掉所有Rails为你提供的消耗性能的漂亮外衣(RJS、ActiveRecord、 ActiveSupport等等)或者移除程序中运行速度迟缓的部分,或者连Rails一起移除。也值得一提的是,对每个人而言毋庸置疑Ruby本身执行 速度慢。人们基于该语言努力创建更为快速的实现方案这本身很伟大,但是就现在而言,它很难。如果你准备部署一个巨大的web应用程序,并且你是个语言不可 知论者,要知道相同的操作下,Ruby会比Python消耗更少的时间。我们开发Twitter的所有人都痴迷于Ruby,但是我认为值得坦白的是,这不 属于那些语言之间的相对论问题。Ruby的确慢。 - 往开发环境里添置硬件会多么困难?
==========================================
我们把程序托 管于Joyent,他们使“扔进去更多的CPU”这一解决方案变得很容易实现。一般来说,我们可以在几个小时内获得新的服务器容器供应。我喜欢用亚马逊 EC2来测试尖峰负荷,但是预期的数据库传输延迟被禁止使用( the prospective database latency is prohibitive)。
- 现在Twitter的路线图有多大?你们准备加入多少特性?
==================================================
本来不想躲躲闪闪,但是现在很难说清楚。我们想做的有很多,但目前仍在维护一个简单的、集中的、易于使用的服务。许多人对小组的特性很感兴趣,而这一特性确实在我们考虑范畴之内。还会推出许多有意思的东西!
- 你怎么看待Twitter对博客社区、即时通讯、短信服务和电子邮件的影响的?
==================================================================
我不认为Twitter是blog的替代品,就像我不认为blog可以替代日记一样。就传达想法给一个观众,一对多而言,Twitter特别适合于那些特 别的想法,虽然简单但意义深远,Twitter并非从回复的原始进程中获利(and don’t benefit greatly from an in-place thread of replies)。对更多个人更新(一些人可能会说那是琐事更新)而言,我认为Twitter会比blog更适合。人们不可避免地想谈论他们的猫咪,但是 你真的想让人们用超过140字符的长篇大论来谈论他们的猫咪吗?
我认为Twitter真正的力量在于根据用户的奇思妙想连接不同的媒体。即时通讯、短信服务、电子邮件,web只是在Twitter连接的情况下的传输工 具而已。一般来说,你不得不出去办事并通过任何媒体来获得信息。利用Twitter,信息可以通过你所选的媒体自动传达给你。或者说,如果你想要一点空 间,你可以轻易关闭信息通过简单的键入“off”命令。那真的很强大。
-
10大微型博客工具的比较
10大微型博客工具的比较 微型博客(Micro-blogging)在维基百科中被描述为: “一种允许用户及时更新简短文本(通常少于200字)并公开发布的博客的形式,允许任何人阅读或者只能由用户选...
-
Twitter触及流行引爆点|All about Twitter
最近Twitter风行,如果再不翻译点关于Twitter的文章都不好意思出来见人了,我关心的最主要的地方是:Twitter是怎么流行起来的,还好在MediaLoper找到了关于这个方面的只言片语。当...
-
Twitter:(猫)博客的进化
译者:twitter 爆发了--甚至可能成为继博客之后,互联网和web2.0的又一个重量级应用模式。在本文中,关注web2.0及社会化网络的著名博客mashable从一个有趣的视角,用一种有趣的方式...
-
OpenYou:社会化网络中的隐私界限
你认为上面这幅画(我画的)代表者什么呢?就是你--一个大众化网络文化的奴隶,这个巨大的用户创造的社会化网络中的参与者。就让我来描述一下这些美妙的颜色和线条代表着什么吧: * 蓝色虚线 是你每时每刻被...
-
twitter将支持web服务
之前我们谈过如何用一条简单的命令语句、通过一组语法规则去查询多个万维网服务。 Yubnub是我们讨论过的其中一种,键入“Weather 90210”,你将得到从weather.com返回的天气信息。...
-
复杂化本能
【译文中链接为译者所加。】 有时我在想关于「复杂化本能」的一些事。 软件的熵现象与混沌无序无关,它的源头是功能的增加。是人们对更多功能的要求导致了软件熵。应该说这些要求都是相当合理,而且相当聪明的,毕...
-
公开信:在Twitter中学到的教训
下面是一篇写给PC杂志总编Jim Louderback的公开信,也同时写给为Ziff Davis媒体公司工作的几百名雇员。 亲爱的Louderback先生, 上个星期五,对就是星期五,13号,我在t...
-
twitter是座珊瑚礁
把一项技术称为珊瑚礁是我对它的最高赞许。 故事是这样展开的。分布在热带海域的珊瑚礁一般出现在沉船周围,海底生物将沉船作为它们的家园。之后那些捕食的生物开始四处游荡,以及捕食者的捕食者,沿着食物链一路...
相关小组
-
twitter
(8译文)
标签:

(五个问题)对话Twitter开发者:Alex Payne
翻译: