登陆注册
7131600000008

第8章 好奇心催生 Twitter(6)

打个形象的比方,缓存就相当于一个会客厅,当访问的客人太多而主人又不能及时接待时,就需要有一些功能相对完备的会客厅来分散人流——按照重要性和访问频率排序,把最重要的和最经常访问的客人集中到一间会客厅中,一般重要的和不经常访问的客人集中到其他会客厅,这样主人在接待访客时就能够更有针对性、更有效率。在 Twitter中,访客就相当于各种信息数据,主人就相当于处理这些数据的核心系统,为了能尽快地实现数据交互,有必要将数据表进行拆解,然后将其中读写最频繁的内容放入缓存。那么什么是读写最频繁的内容呢?很多人可能以为是信息,但事实并非如此。在 Twitter中,被读写最频繁的数据是 IDs即各种编码,包括新发表的短信编码、发表者的编码、热门短信的编码以及订阅者的编码等。每当用户发送请求时,都不可避免地要先接触形形色色的编码,然后才能进入正文,因此说信息正文与各种编码比起来是次要的。为了提高效率,Twitter的工程师们将各种编码放入统一的缓存空间,并给它起名为 Vector Cache,然后将消息正文存入另一个缓存空间——Row Cache,这样数据就被分开了。处理数据时,首先要保证 Vector Cache所需的资源,然后才轮到 Row Cache。这种设计大大提高了 Twitter的反应速度,使用户可以获得更好的上网体验,为 Twitter赢得了好口碑。

移动和便捷是 Twitter的第二个诉求。Twitter不但支持传统的Web浏览器访问,还支持手机移动平台及各种即时通讯工具的访问。打个形象的比方,如果要接纳更多种不同类型的客人,就不能大门紧闭,也不能只建一条专用通道,而是必须要有一个开放且安全的关口。前来访问的客人在关口通报姓名并获得允许后就可以进入房间进行访问。为了更好地实现这个功能,Twitter建立了以 Apache Web Server为门户的 Web通道和 API的通道,而其中API通道就是这个在一定规则下开放的关口,是主要受理流量的通道。由于 Twitter的名气如日中天,前来申请访问的各种类型的客户越来越多,这个关口承受的压力也越来越大,当然速度就会逐渐降下来。为了提升关口的效率,Twitter的工程师们又动用了缓存。

他们设计了 Fragment Cache和 Page Cache两类缓存,前者将用户见到的作者主页或信息页面分成若干个局部,然后一一缓存,后者则将用户本人的主页缓存起来,用户访问时读取比较频繁的主要是Fragment Cache中的内容,而 Page Cache则被分离出来,放到不同的机器上运行,这样就可以根据不同的需求调用程序,从而提高了API通道的运行效率。

多级缓存的运用使 Twitter拥有了处理复杂数据流的能力,服务质量得到明显的提升。

突破技术瓶颈

2007年 10月,Google完成了收购 Jaiku的企划案。但彼时Twitter已经做好了应战的准备,技术的完善使它更有信心迎接其他人的挑战。不过Jaiku重新开放后并没有取得预想中的效果,尽管拥有相对稳定的客户流,但新用户数的增长速度并不理想,始终处于一种不温不火的状态之中,而Google似乎也没有兴趣投入更多的人力、财力进一步开发这项服务。看起来,Jaiku与Twitter正在并行不悖地发展着,Google的收购案并没有给Twitter带来实质性的伤害,反倒是在一定程度上促成了人们对Twitter的进一步关注。

现在似乎可以暂时松一口气了。但很快,这种相对平静的局面就再次被打破了。

2008年春,Twitter又迎来了新一轮的挑战。而这次的挑战首先来自自身的技术瓶颈。由于用户数量的持续增多,Twitter的月独立用户访问量再创历史新高,达到了50万。用户上传信息的爆炸式增长明显超出了Twitter的承载限度。Twitter在最初的架构过程中,主要是面向内容的管理系统,因此在面对大量信息时显得有些力不从心,于是一个让人恼火的现象出现了——Twitter开始频繁宕机,并且很多时候是长时间宕机。在这个春季,很多Twitter用户一登录就看见Twitter停机维护的通告。

对于一个网站来说,频繁的宕机是非常致命的,它破坏了用户的网络体验,影响了用户的上网习惯,可能导致用户数量的下降。

尽管此刻Twitter已经拥有众多的粉丝,但这种弊端仍然非常严重。

很多Twitter使用者为此非常苦恼,在Twitter宕机的时间里,他们的生活仿佛也受到了影响——没有心思做别的事情,情愿一而再再而三地不断尝试登录,但是迎接他们的总是不咸不淡的停机维护通知。推迷们抱怨说Twitter应该及时改进服务质量,阻止宕机情况的一再发生,否则就要考虑寻找新的替代品。

苍蝇不叮无缝的蛋,你的漏洞往往就会成为敌人的突破口。正当Twitter苦恼于频繁发生的宕机故障时,另一个微博客社交网站——Plurk问世了。

Plurk是由一个叫做A-team的组织创建的支持多种语言的可视化微博客网站。与Twitter类似,Plurk也主张极简主义,将消息的规模限定在140个字符,用户同样可以在网站上设定自己关注的人,或者被人关注,并且可以随时查阅关注的人的更新信息。时间轴是Plurk的最主要特色,用户自己和好友的信息都被整合在时间轴上,这样用户就可以通过拖动时间轴来方便地查阅信息。此外,为了鼓励用户更多地使用网站的服务,Plurk设定了一个特殊的热度计算系统——Karma,用户每天发表质量较高的Plurk信息、保持活跃的状态、成功邀请好友加入或者发表的信息被回复等都可以使Karma值得到增长。当然,如果用户超过一定时间不活动,发表超过限量的Plurk信息,或者发送的注册邀请被拒绝也会导致Karma值的下降。Karma值对于用户来说不仅仅是一个活跃值或者贡献值,而且意味着一种资格——拥有高Karma值的用户可以得到系统提供的更多附加服务,这使得用户愿意花费更长的时间在线使用Plurk以获得更高的Karma值。也许是考虑到系统数据处理的负荷问题,Plurk从一推出就做出了用户每天所发信息的数量限定,超出这个限定将以Karma值的减少给予惩罚,这在一定程度上避免了因大量无用信息的堆积造成服务中断。

Plurk的出现再次向Twitter提出了挑战。与Jaiku不同,Plurk在产品的定位上更准确,在产品的营销上也更有经验。其人性化的设计,便捷的服务,独特的热度计算系统和时间轴服务吸引了大批用户,很快成为Twitter的有力竞争对手,在某些地区受欢迎的程度甚至远远超过了Twitter。

面对系统宕机和竞争对手的双重挑战,Twitter感受到了前所未有的压力。为了扭转这一局面,Twitter决定放弃以前使用的 Rubyon Rails开发工具,尝试寻找新的支持可扩展性强的语言。大家在一起罗列了很多可供选择的语言,但都因为存在这样那样的问题而被一一否定了。这时有人想到了Scala。在 JVM平台上,Scala执行速度的表现是相当优秀的,几乎难以找到另一种语言能与之匹敌。

经过反复的研究和讨论,Twitter决定采用 Scala进行开发。很快,数据处理的速度得到了明显改善,宕机的次数也逐渐减少。人们又开始重新陆陆续续地回到 Twitter了。

危机中的意外收获

不得不提的是,本是非常致命的宕机现象居然造就了 Twitter的另一个传奇——宕机鲸的走红。对于处在麻烦之中的 Twitter而言,宕机鲸无疑是一个意外的收获。

起初人们对 Twitter的宕机抱有一种无奈和埋怨的情绪。但是某一天,当他们打开 Twitter网站时突然看到一幅有趣的画面——一条搁浅的白色鲸鱼被八只衔着网绳的红色小鸟奋力地拉向天空,图片上写着“Twitter is currently down for maintenance”(Twitter正在停机维护)。这是比兹·斯通一次偶然的机会在 iStockphoto上看到的一幅作品,这幅透露着可爱、无奈、团结等含义的图案是由上海女孩陆怡颖设计的,当时比兹正在考虑如何最大可能地降低Twitter因为经常宕机带来的不利影响,他的本意是想设计一个比较轻松的界面,这样人们在面对宕机时不会因为界面的枯燥而进一步加深烦躁的情绪。在搜索各个设计网站寻找创意时,他突然看到了这幅作品,眼睛猛然一亮:当鲸鱼搁浅时,八只小鸟团结一致地将它拉向天空所体现出来的拼搏向上的团队合作精神正是 Twitter全体员工的真实写照!这简直就是为 Twitter量身打造的图片!他立刻联系陆怡颖,花钱买下了这幅图片,并将它贴到网站上,作为Twitter宕机时暂停服务的画面。

令比兹和所有人都没有想到的是,这幅图片甫一露面就被众多Twitter网友热推。人们疯狂转载这幅略带幽默的图片,加州一个网站工作者甚至专门为这条鲸鱼做了一个网站——failwhale.com,很多喜欢这条鲸的人都加了进来。为了能给这条鲸取一个非常有特点的名字,人们在 Flickr网站上展开了一次大讨论,有人建议说因为每次 Twitter出现问题宕机时,这条鲸鱼就会出现,因此应该叫它宕机鲸(fail whale)。于是宕机鲸就此诞生了,很多人为它撰写传记,还由此衍生了多个版本的宕机鲸漫画。陆怡颖也因为这条可爱的鲸鱼受到了 Twitter网友们不遗余力的追捧,并形成了包括茶杯、T恤等产品在内的一系列宕机鲸品牌。

在网站上,宕机鲸同样受到了热烈的欢迎,不论是在 Youtube上还是在 Facebook上,鲸鱼迷们都在热情高涨地活动着,各种视频和图片被不断更新,Twitter上关于宕机鲸的更新信息更是令人瞩目的焦点。此时人们已经忘记了当初系统宕机所带来的苦恼,反而将宕机鲸当作一种心境,一种文化加以推广——用轻松的心情面对困难;换一种角度看问题……各种诠释使宕机鲸有了更深的文化内涵。有人甚至将宕机鲸图案纹在身上,并将图片发送到网络上,这个行为直接导致的结果是关注他的人数暴涨,迅速突破了 3000。

整个夏天,人们都在为这条鲸鱼而疯狂,以至于有人说,宕机鲸的出现是这个夏天最大的惊喜。

宕机鲸现象使人们看到了 Twitter迷们对 Twitter近乎偏执而疯狂的喜爱。不论是正在服务,还是正在维护,人们对它的热情丝毫不减,确实,一个连系统故障页面都表现得如此生动独特的网站怎么会不受人追捧与欢迎?

Twitter用自己的努力和创意应对了成长道路上的一个又一个挑战,并且每次都能够在关键时刻化险为夷,再次向世人证明了它强大的实力和独到的魅力!

“碎碎念”来到中国

微博开启了一种新的表达方式,一种不重在追求意义的表达,仅是为表达而表达。有人将这种表达方式形象地概括为“碎碎念”。

以Twitter为代表的微博客向世人昭示了这种力量——琐碎汇聚的力量。

随着知名度的持续提升和技术的不断完善,Twitter的用户量再一次呈现跳跃式发展,到2008年5月初,Twitter已经拥有了108万用户。Twitter的火爆可以用红得发紫来形容,它不但赢得了用户,更引领了一种文化风潮。眼看着Twitter炙手可热,风景独好,很多公司和技术人员开始坐不住了。他们纷纷投入力量开发同类产品,一时间,众多微博客网站如雨后春笋般在世界各个国家纷纷诞生。以至于有人感叹,在这样一个时代,你想不知道微博都不可能,因为它无处不在!

碎碎念从Twitter开始,向世界的每一个角落疯狂蔓延。中国当然避免不了受它的影响。

同类推荐
  • 管人红皮书

    管人红皮书

    唱红脸就是人性化管理,管住员工的身要用制度,管住员工的心要用制度外的手腕。领导者要以卓越的人际智慧和情感谋略,赢得下属的普遍信任和爱戴。红脸管人不是一味地慈眉善目装好人,而是要在管理者与被管理者之间建立一种和谐、信任和共赢的伙伴关系。管理者要发掘和培养人才。重用并留住人才,让人才心甘情愿地为企业贡献全部。这些育人、用人、管人和留人的难题,光靠制度是解决不了的,需要领导者在制度以外运用感情手腕来解决。以智取人、以情动人、以礼相待、赏罚有信……一旦将这些策略和手段有机地结合起来,并能灵活运用,你就会是一位出色的红脸领导。人心都是肉长的,你肯在员工身上花本钱、费心思,员工不可能无动于衷。
  • 总经理—你就是企业形象代言人

    总经理—你就是企业形象代言人

    作为总经理,应有一个核心思维——点灯心态。即分享一盏智慧的明灯;多点灯,不挖坑;一灯能破千年暗,一智能解万年愚。作为总经理,应有一种水性思维。即低洼意识——低姿态、高境界;为而不争——善利万物而不争;以柔克刚——柔弱胜刚强。作为总经理,应经常看到:探求自己的方向;遇到障碍物时,能发挥百倍力量;以自己的清洁洗净他人的污浊,有容清纳浊的宽大度量。《总经理你就是企业形象代言人》讲述汪洋大海,能蒸发为云,变成雨雪,又或凝结成一面如晶莹明镜的水,不论其变化如何,仍不失其本性。
  • 卡位

    卡位

    本书是作者关于营销方式中卡位的理论和实践操作的一本书。作者从卡位的理论入手,表明要开辟出新的市场,就必须用新的理念并考虑到客户的需求。因此,作者采用了理论和实际案例相结合的方式,将卡位的理论运用在实际的商业案例中,以实际操作的例子来解释和定义什么是卡位而且如何赢得市场。
  • 总裁思想-46位总裁的企业观点与经验主张

    总裁思想-46位总裁的企业观点与经验主张

    《总裁思想》一书的内容由中国最具影响力的杂志《销售与市场》的名牌栏目——“总裁思想”精选而成。既选取了张瑞敏、牛根生、董明珠等一批老一辈创业者与管理者的思想精髓,也囊括了马云、当当的李国庆、比亚迪的夏治冰等新一代创业先锋的思想锋芒。几乎代表了中国企业家的管理思想集萃,在企业界有着广泛的影响力,是5000万管理人向往已久的精神大餐。特别是经过精心整理与更广泛的采撷,体现了其“高端性、思想性、典型性、学习性”的特点。
  • 绝对成交心理

    绝对成交心理

    销售是一门科学,也是一门艺术。顶尖的销售人员,都是经过了不断的磨炼、学习而培养出来的。不论你从事任何销售的行业,成功的销售几个步骤、过程基本上都是一样的。所以,具备并不断地使用这些知识和能力,是成为一个卓越的销售人员所不可或缺的、必备的基本条件。
热门推荐
  • 二货女孩真爱记

    二货女孩真爱记

    她笨又怎样?她傻又怎样?她二又怎样?总会有真爱的。
  • 歌女做皇妃

    歌女做皇妃

    多年前的湘妃,受尽恩宠,却也置身风口浪尖,受尽陷害。终被打进冷宫,香消玉殒。多年以后,她成了天水楼的妈妈妙羽莎,她隐姓埋名二十年,只为那一个庞大的复仇计划。她收养三个长成了倾国容颜的女子,只为颠覆他所拥有的一切地位和皇权。可是,到头来才发现,这场复仇大戏的主角已不再是自己,三个不知真相的女子却莫名其妙地卷入复仇的闹剧。且看新的主角如何走上这条漫漫的复仇路吧!--情节虚构,请勿模仿
  • 狐妖七罗

    狐妖七罗

    讲的是一个沉睡三百年醒来的狐妖七罗报恩结果把自己搭进去的故事。不知道说什么,因为一遍码一边想剧情……好几年没写过什么东西,估计文笔渣到天上去,更新超级慢,但是会努力写完……恩,就这样,还有小心入坑^^
  • 破镜重圆:神助攻儿子叛变

    破镜重圆:神助攻儿子叛变

    是的,我就是那*了汪的神助攻儿砸。我肩负着将自家老妈(爸)和炫酷老爹破镜重圆的重任。但我要为了爱与梦想,打破这套不变定律!【所以说有个毛线关系啊!我妈是个演员,人缘好到爆表。是个腹黑“温柔”的“男”神。我是在她20岁时和我爹*下的产物。诶,说多了都是泪总之,本文是一个本应该是神助攻的小屁孩最后叛变了的故事。
  • 你是我抢来的老公吗?

    你是我抢来的老公吗?

    认识他是在十年前,但是两个人好像没有缘分,擦肩而过,她心里留下了他的影子。逛个街却捡了一条命,她好险得救了一个十来岁的男孩子,没想都到是那位无缘份男子的儿子,天,几年不见,他已经有这么大的儿子?她该伤心吗?可是……可是……他怎么可以无缘无故的吻了她呢?他不是已经有了家庭吗?十年不见,他们再次见面,他竟然成了表白的人,害她这暗恋他的人一时间傻了眼!现在什么情况?她能接受这个有一个儿子的男人做情侣吗?他儿子的母亲会让她抢走他吗?拭目以待吧!
  • 萧二狗的故事

    萧二狗的故事

    本是一个贫苦之人,奈何苍天都与之作对。本想苟活余生,却偏偏给了他刺激而又纠结的生活。也许这一切是冥冥中有一双大手推动,又或是难逃的宿命。有些事却也因他而改变。。。。。。
  • 洪荒之魔神至尊

    洪荒之魔神至尊

    张天音,21世纪之中的一个孤儿,也是一个超级天才,精通多门才艺,各项领域的专家,因一次意外死亡身怀大道至宝混沌珠,逆转时空,魂穿混沌,成为三千法则魔神之一,声音法则掌控者——天音混沌之中,明悟道心,为求永恒,超越一切,战魔神,论道盘古,成为混沌至强者之一分身入洪荒,太初之始,神魔之争,百族之乱,三族争霸,巫妖大劫,带领至强圣域,守护洪荒,征战诸天万界
  • 风华无双之:阴阳仙姬

    风华无双之:阴阳仙姬

    他是英魂特战队成员,野外特训时遭遇外籍兵团入境刺杀。当他借尸还魂后,天崩地裂的发展自己成了一个苦命少女!当孔翎羽迷迷糊糊的醒来,以为那是一场噩梦时,“哐啷”一声巨响,门板被一个醉汉撞开,他踉跄着走进来对他说:“老子就偏好骑烈马……嘿嘿嘿……”孔翎羽呆了呆,然后他的世界顷刻间天雷滚滚……:若干年后叶木蓉一直纠结困扰一个问题:以后搞对象时谁上谁下啊?我在上吧……身下是个男人。我在下吧……身上还是个男人!是我驭男还是男驭我?卧槽哇……(泪崩中……)叶木蓉仰天长啸:“我喜欢的是妹子啊!!!”师父?拿下!师姐?暧昧!师妹?扑倒!什么?风流倜傥英俊潇洒天之骄子?咳咳…你们的意思呢?都到怀里来?
  • 天衍道珠

    天衍道珠

    他身具道体,却又不能修炼,正当他想平平凡凡做个凡人时,天意弄人,被他得到神秘至宝,获得无上传承。在追寻身世的道路上,披荆斩棘,历经艰辛、遇红颜,踏八方,染血苍穹……
  • 妃常淡定:王爷别傲娇

    妃常淡定:王爷别傲娇

    一个是骁勇善战的将军,战场上杀人如麻,心里却柔软的只爱她一人,为她生,亦可为她死;一个是气宇轩昂深情款款的王爷,对她许下一生一世一双人的誓言,为了她宁愿卷入夺嫡纷争之中,只为能护她一世周全。所有的一切都与她有关,两边难以权衡,是听天命?还是随心意?