【问题标题】:Twitter fanout designTwitter扇出设计
【发布时间】:2021-06-23 23:58:15
【问题描述】:

我正在阅读 Martin Kleppmann 的《设计数据密集型应用程序》一书。在某一时刻,作者解释了 Twitter 向用户发布推文(扇出)的不同方法。根据其中一种方法,当有人发布推文时,Twitter 会将这条推文添加到发布者所有关注者的主时间线缓存中,如下图所示。

这是否意味着 Twitter 为其所有追随者的用户维护一个实时缓存?会不会有太多缓存需要维护?

【问题讨论】:

    标签: caching twitter system-design


    【解决方案1】:

    缓存条目太多,缓存不多,正好等于用户总数。

    因此这将需要大约 TB 的缓存,并且使用商品硬件可以在读取路径上很好地提供服务,但在写入时它将对名人有很高的写入放大率。

    但从维护的角度来看,这不是问题,但从成本的角度来看,它会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-30
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 2018-01-06
      相关资源
      最近更新 更多