登陆注册
28283700000008

第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开始,向世界的每一个角落疯狂蔓延。中国当然避免不了受它的影响。

同类推荐
  • 15天打造金牌微商

    15天打造金牌微商

    本书是笔者继《挡不住的微店生意经:低成本微信创业全攻略》后的第二本描述微商的实战兵法。在笔者编写本书之前,有很多人通过微信刷屏获得了巨大的成功,笔者接触了很多半年销售过亿的微商品牌团队,一旦他们发动品牌招商,几个月的时间,销售业绩就会不停上涨,但是随之问题也出来了,代理商可以很快找到,但是如何让代理商的货销售到终端的用户手里,这个变成了一个最大的问题。解决不了这个问题,微商品牌资金链就会很快断掉,前期的风光将不再。
  • 大雁精神

    大雁精神

    在一个公司里面,员工就像大雁,团队就像雁群。大雁的迁徙。就好比企业一步步向成功迈进。如果一个团队能够像大雁一样。目标一致。群策群力、共同努力。那么它就一定能够取得成功。无论是企业的管理人员还是普通员工。本书都值得认真学习。只要我们能够将大雁的这种团队精神移植到我们自己的团队中。就没有做不到的事情,没有达不到的目标。
  • 世界上最伟大的推销员

    世界上最伟大的推销员

    伟大,对于生命多么有诱惑力的字眼啊!可以说从古至今,这是每个生命的强烈渴求。然而,怎样才能从平凡走向卓越、从卓越走向伟大呢?本书会告诉你:伟大源自你的成就,特别是推销员,世界上真正伟大的推销员不少,他们都是沿着挫折的阶梯永不停息地往上攀升;他们都是从“心动”开始,从“行动”中获得,将世间“不可能”变成“可能”……
  • 想法做法活法全集

    想法做法活法全集

    本书分别从想法、做法、活法三个角度出发,为读者列出人生三法的具体运用与把握技巧,启迪读者从书中得到自己所需要的人生动力,以激励自身奋斗不息,并最终获取幸福与成功。
  • 不懂财务就当不好商品流通企业经理

    不懂财务就当不好商品流通企业经理

    不论何种行业,优秀的经理人必定是一位财务高手!教你轻松驾御酒店餐饮企业必备的财务方法与技巧通过本书的阅读,你将学到:全面掌握三大财务报表,读懂财务报告;非财务人员与财务部门在统一的平台上达成有效沟通;建立起清晰的成本控制意识与内部控制方法;强化财务管理意识,提高企业运作效率;学会使用预算等财务工具加强内部管理;运用财务思维视角运作企业,找到提升运营绩效的方法。
热门推荐
  • 重生在末日当团宠

    重生在末日当团宠

    林楠前世因错跟了父亲被虐致死,重生后做出了对的选择,变成了团宠。
  • 缘来是霓

    缘来是霓

    大龄剩女魏梓墨,普通颜值普通工作,却对另一半一直按照心目中的理想找寻,眼看着芳华耗尽,想找个爱自己的人凑合一生。怎奈命运待她不薄,感情生活峰回路转,人生开挂模式开启……
  • 剑鞘凌天

    剑鞘凌天

    云端之上为青天,世界之外为异魇。亿年前,异魇冲入这片大陆,八荒愁云惨淡,民不聊生,人类冲出一位绝世强者,将异魇镇压在四方兽之下,才让人间重现安宁。如今阵法瑶瑶欲坠,青龙镇守者离奇失踪,使阵法破开一条恐怖的大裂痕,噩梦难道又要重演?一位叫做许辰的少年,带着妹妹从荒林中走出。故事就此开始……
  • 当他回头却不见她的身影

    当他回头却不见她的身影

    墨霆是被逼无奈娶了李沁玥,墨霆也总是不回家,但是家里的餐厅的饭桌上总有热饭热菜,李沁玥也总是会坐在沙发上等着墨霆回来,可是墨霆被绿茶蒙骗,以为李沁玥是个有着恶毒心思的女人,总是对她恶言恶语,直到有一天,他知道了真相,回到家却没有看到他口中那个恶毒的女人,也没有看见饭菜,这个时候他才真的认清了自己的真心,原来我早就爱上了她......
  • 合欢未央

    合欢未央

    【本文改编自橙光游戏《身·宫梦谣》,在此特别注明】正康二十二年,老皇帝骤然离世,新帝登基。新的一轮后宫大戏渐渐拉开帷幕。王侯将相之女,小国进献贵女,邻国和亲公主,还有……故国三千里,深宫二十年……本文以第三视角来讲述深宫中的悲欢离合。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 快醒醒爱情来了

    快醒醒爱情来了

    “老大,你真的要这么做吗?”“不这么做,我能看出来有人不喜欢我的钱吗?从现在开始我不在是老大,直到找到那个女孩。”某男子说。“愁死我了,这个月钱又不够了,在这样我就得吃土了。麻烦上天赐我一个土豪吧!不对,只要是土豪,啥都不管了。”简程橙撑着头说。“做你的白日梦想家去吧!实际点,走兼职去。”
  • 战痕

    战痕

    22世纪,机器人科技迅速发达。2150年12月30日,第一个拥有大量破坏技能的机器人被制作出来。2080年,人类被迫转移到天空中的浮空岛上。同年8月,一种名为‘‘战神法术’’的技能被人类研制出来。9月,人类建立起四大浮空岛,名为风之浮空岛,雷之浮空岛,水之浮空岛,火之浮空岛,来保卫整个浮空群岛的安全。接着,浮空岛内便建立起来了等级制度。最高者为战斗王,仅有一名。高级战斗师,中级战斗师,初级战斗师。为了全人类的幸福,战斗师们,在不断努力......
  • 逍遥狼皇

    逍遥狼皇

    沧海万丈浪高,神崩地裂呼啸。我心欲随风飘,天地任我逍遥。
  • 囚徒十年

    囚徒十年

    年少时的阴影,纠缠了她一生。十年了,不管她的身份如何变换,她都无法从那天的血雨中走出来……