V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zero47
V2EX  ›  程序员

请教小体量项目已读服务解决方案

  •  
  •   zero47 · 2021-06-17 14:45:50 +08:00 · 1250 次点击
    这是一个创建于 1253 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上关于已读服务的资料较少,主要找到以下两个解决方案

    1.知乎的已读服务,使用分布式架构,HBase 等工具存下所有的阅读记录进行碰撞

    2.使用布隆过滤器,为每个内容或每个用户创建一个布隆过滤器

    小体量的项目中,第一种方案过于庞大,需要消耗很多机器,第二种方案由于内容和用户相对稀疏,为百万级的用户每人创建一个布隆过滤器内存消耗相当的大( redis 方案得全部放进内存)

    请教有没有适合小体量的解决方案。

    3 条回复    2021-07-02 09:17:56 +08:00
    MoYi123
        1
    MoYi123  
       2021-06-17 16:18:33 +08:00   ❤️ 1
    postgresql + roaringbitmap 插件
    RangerWolf
        2
    RangerWolf  
       2021-06-18 10:27:16 +08:00
    我的知乎也只存储最近阅读的 1000 条记录,也不是完整全部存储。 按照这样来算,我感觉知乎的已读服务的压力应该也不是特别大啊。。。
    求楼主分享一下知乎解决方案的文章,感谢!
    zero47
        3
    zero47  
    OP
       2021-07-02 09:17:56 +08:00
    @RangerWolf 搜索已读服务,都是知乎分享的文章
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1698 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.