• Feeds

  • Twitter架构图(cache篇)

    根据网上公开资料整理的Twitter架构,主要是cache方面,加了作者自己的补充,跟实际的架构未必完全一致。
    twitter cache
    一些数据:

    • Cache分Page cache, fragment cache, row cache, vector Cache, cache命中率见图。
    • Fragment cache存放了API各种请求格式的数据,包括XML, JSON, RSS, ATOM。
    • 发表Tweets是先放入Kestrel, 再异步处理,Kestrel用的也是memcached协议。
    • API requests: 550 r/s。
    • POST tweets: 峰值:平时 80tweets/s, 奥巴马就任时达到 350tweets/s。
    • Aggregator模块需要访问memcached multi get  数百个/s。
    • Ruby on Rails前面还用了Varnish作前端反向代理。

    参考资料:

    如想及时阅读Tim Yang的文章,可通过页面右上方扫码订阅最新更新。

    « | »

    12 Comments  »

    1. Lee Su Min

      Is a blue print same as a jia gou tu?

    2. 我是一个大三的学生,现在在学习PHP!看了您的博客,学习一下,也就只是看看表面,现在对整个的WEB体系有了一定的了解了,但是我还是不太清晰!请您指点一下,我还不清楚现在所做的东西处于什么地方,对整个系统有什么影响?我开发网站时也都没用到您所做的东西啊,究竟何时用!还有就是究竟应该按照什么线路来学习技术,请您务必指教!!!

    3. 博主能力很强。向你学习

    4. 请问像这样实时性强、数据量巨大的数据库应该做哪些优化和处理?

    5. Pan

      Row Cache是否有些出入?图中Row Cache似乎是用来存储关系链的,而Evan Weaver在2009 London Qcon上的ppt中,显示Row Cache应该是用来缓存tweet正文内容的吧。http://qconlondon.com/dl/qcon-london-2009/slides/EvanWeaver_ImprovingRunningComponentsAtTwitter.pdf

    6. 我觉得除了缓存之外,数据库的表设计是最关键的部分。架构这些什么的都要依据数据库结构来设计。

    Leave a Comment