解剖Twitter 【9】结语

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




【9】结语

这个系列讨论了Twitter架构设计,尤其是cache的应用,数据流与控制流的组织等等独特之处。把它们与抗洪抢险中,蓄洪,引流,渠道三种手段相对比,便于加深理解。同时参考实际运行的结果,验证这样的设计是否能够应付实际运行中遇到的压力。

解剖一个现实网站的架构,有一些难度。主要体现在相关资料散落各处,而且各个资料的视点不同,覆盖面也不全。更严重的问题是,这些资料不是学术论文,质量良莠不齐,而且一些文章或多或少地存在缺失,甚至错误。

单纯把这些资料罗列在一起,并不能满足全景式的解剖的需要。整理这些资料的过程,很像是侦探办案。福尔摩斯探案的方法,是证据加推理。

1. 如果观察到证据O1,而造成O1出现的原因,有可能是R1,也有可能是R2或者R3。究竟哪一个原因,才是真正的原因,需要进一步收集更多的证据,例如O2,O3。如果造成O2 出现的可能的原因是R2和R4,造成O3 出现的可能原因是R3和R5。把所有证据O1 O2 O3,综合起来考虑,可能性最大的原因必然是(R1,R2,R3), (R2,R4), (R3,R5) 的交集,也就是R2。这是反绎推理的过程。

2. 如果反绎推理仍然不能确定什么是最可能的原因,那么假定R2是真实的原因,采用演绎推理,R2必然导致O4证据的出现。接下去要做的事情是,确认O4是否真的出现,或者寻找O4肯定不会出现的证据。以此循环。

解剖网络架构的方法,与探案很相似。只读一篇资料是不够的,需要多多收集资料,交叉印证。不仅交叉印证,而且引申印证,如果某一环节A是这样设计的,那么关联环节B必然相应地那样设计。如果一时难以确定A到底是如何设计的,不妨先确定B是如何设计的。反推回来,就知道A应该如何设计了。

解剖网站架构,不仅有益,而且有趣。

Figure 13. Sherlock Holmes,福尔摩斯探案
Courtesy http://www.fantasticfiction.co.uk/images/c0/c2053.jpg

【全文完】

(3个打分, 平均:5.00 / 5)

雁过留声

“解剖Twitter 【9】结语”有13个回复

  1. 理客 于 2010-03-16 1:06 下午

    感谢楼主!
    无论多难的事,在有心人手里,总是容易有办法
    无论多易的事,在无心人手里,总是容易出状况

  2. 阳光宅男 于 2010-03-16 4:52 下午

    沙發沒坐住

  3. shaomeng 于 2010-03-16 6:03 下午

    顶推理的精神

  4. zw 于 2010-03-16 6:18 下午

    多谢!

  5. changbalao 于 2010-03-16 6:29 下午

    大赞

  6. droplet 于 2010-03-17 1:14 上午

    Twitter如何租服务器,又能和自己原有的服务集成,能说一说吗?

  7. Ning 于 2010-03-17 1:41 上午

    看的多了,发现很多东西是相通的呀。表象虽然千差万别,但思想都是差不多的。

  8. appleleaf 于 2010-03-17 4:53 下午

    侃哥,把你的“云里雾里的云计算”搬过来吧,我很感兴趣。本想花几个月研究,写一下,现在看可以直接学习交流了,呵呵。

  9. 邓侃 于 2010-03-18 6:36 下午

    回Appleleaf,

    好的,这两天稍忙。一有空了,就把云计算的文章,逐一搬过来。

  10. appleleaf 于 2010-03-18 7:29 下午

    侃哥,你的云计算的文章我扫过一遍,佩服的五体投地。无论文章组织、文笔、分析思维等等。
    另外问一下,你如何获取资料,写了多长时间?

  11. Joe 于 2010-03-22 9:45 下午

    好文!深入浅出,逻辑严谨,而且还有大量的参考资料。难得~~

  12. 翻墙砖家 于 2010-09-29 5:39 上午

    非常有用,谢谢!

    PS:能提供一份完整的pdf吗?

  13. Taokey 于 2011-02-04 8:03 下午

    “世界上怕就怕认真二字”,楼主的治学态度实令我等自惭形秽,自惭形秽啊…